比如一個服務程式service1,displayName=‘郵件服務’。想在一臺服務器上運行多份,名字埠都可以自己定義,該如何做。
uj5u.com熱心網友回復:
把程式整個目錄復制出來,比如叫 Mail2,然后注冊主服務程式(用新的關鍵字,用OpenSCManager,CreateService,CloseServiceHandle等API函式),配置埠(埠不能沖突),uj5u.com熱心網友回復:
1、為自己的服務,建立幾個目錄,如:d:\Server1\d:\Server2\d:\Server3\.....2、將執行檔案,拷貝進不同的目錄中。 d:\Server1\MySer.exed:\Server2\MySer.exed:\Server3\MySer.exe.....3、使用instsrv.exe,指令格式:instsrv [服務名] [應用程式路徑]注意:instsrv Myser1 d:\Server1\MySer.exeinstsrv Myser1 d:\Server2\MySer.exeinstsrv Myser1 d:\Server3\MySer.exe......4、在注冊表項“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\”中自動增加項[服務名],并在其下成功添加各個鍵值:“DisplayName” =服務顯示名 (字串值)“Description” =服務描述 (字串值)“ImagePath” =應用程式路徑 (可擴充字串值)“ObjectName” =”LocalSystem” (字串值)“Type” =10(16進制) (dword值)“Start” =2(16進制) (dword值)“ErrorControl” =1(16進制) (dword值)如果不使用instsrv.exe,同樣可以在注冊表中手工添加實作:在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\”下新建一個項,項名為要顯示的服務名,并在其下新建以上各個鍵,填入鍵值。注意:使用不同的'服務名稱字符'(關鍵詞),這樣在“任務管理器”的“服務”,顯示出服務專案,你能區別那個服務專案。 注意引數要不相同,特別是配置埠要不相同,否則二個服務執行同一任務,出錯沖突。uj5u.com熱心網友回復:
1、為自己的服務,建立幾個目錄,如:d:\Server1\
d:\Server2\
d:\Server3\
.....
2、將執行檔案,拷貝進不同的目錄中。
d:\Server1\MySer.exe
d:\Server2\MySer.exe
d:\Server3\MySer.exe
.....
3、使用instsrv.exe,指令格式:instsrv [服務名] [應用程式路徑]
instsrv Myser1 d:\Server1\MySer.exe
instsrv Myser1 d:\Server2\MySer.exe
instsrv Myser1 d:\Server3\MySer.exe
......
4、在注冊表項“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\”中自動增加項[服務名],并在其下成功添加各個鍵值:
“DisplayName” =服務顯示名 (字串值)
“Description” =服務描述 (字串值)
“ImagePath” =應用程式路徑 (可擴充字串值)
“ObjectName” =”LocalSystem” (字串值)
“Type” =10(16進制) (dword值)
“Start” =2(16進制) (dword值)
“ErrorControl” =1(16進制) (dword值)
如果不使用instsrv.exe,同樣可以在注冊表中手工添加實作:在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\”下新建一個項,項名為要顯示的服務名,并在其下新建以上各個鍵,填入鍵值。
注意:
1、使用不同的'服務名稱字符'(關鍵詞),這樣在“任務管理器”的“服務”,顯示出服務專案,你能區別那個服務專案。
2、數要不相同,特別是配置埠要不相同,否則二個服務執行同一任務,出錯沖突。
uj5u.com熱心網友回復:
2、引數要不相同,特別是配置埠要不相同,否則二個服務執行同一任務,出錯沖突。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/59156.html
標籤:VCL組件開發及應用
