?? 1610544001.txt
字號:
化境編程界-
C++Builder WINNT 編制 Service(1)
化境編程界首頁| 化境軟件庫 | 化境教程庫 | 其它資源 | 化境討論區
| 化境留言板
showTop();
歡迎訪問《化境編程界》| * Email:5xsoft@21cn.com | < 留言板
化境編程界 -> 技術文章 -> C/C++/VC
C++Builder WINNT 編制 Service(1)
[ 作者: 不詳
添加時間: 2001-5-16 10:55:48
]
---- Windows NT與Windows 9x有一個非常重要的區別,即Windows
NT提供了很多功能強大的Service(服務)。這些Service可以隨著NT的啟動而自啟動,也可以讓用戶通過控制面板啟動,還可以被Win32應用程序起停。甚至在沒有用戶登錄系統的情況下,這些Service也能執行。許多FTP、WWW服務器和數據庫就是以Service的形式存在于NT上,從而實現了無人值守。就連最新版的“黑客”程序Back
Orifice 2000也是以Service形式在NT上藏身的。由于Service的編程較復雜,許多開發者想開發自己的Service但往往都望而卻步。鑒于此,下面我們就從頭到尾來構造一個全新的Service,讀者只要在程序中注明的地方加上自己的代碼,那么就可以輕松擁有一個自己的Service。在編寫Service之前,先介紹一下幾個重要的函數:
---- 1. SC_HANDLE OpenSCManager( LPCTSTR lpMachineName,
LPCTSTR lpDatabaseName, DWORD dwDesiredAccess)
---- OpenSCManager 函數打開指定計算機上的service control
manager database。其中參數lpMachineName指定計算機名,若為空則指定為本機。LpDatabaseName為指定要打開的service
control manager database名, 默認為空。dwDesiredAccess指定操作的權限, 可以為下面取值之一:
---- SC_MANAGER_ALL_ACCESS file://所有權限
---- SC_MANAGER_CONNECT file://允許連接到service control
manager database
---- SC_MANAGER_CREATE_SERVICE file://允許創建服務對象并把它加入database
---- SC_MANAGER_ENUMERATE_SERVICE file://允許枚舉database
中的Service
---- SC_MANAGER_LOCK file://允許鎖住database
---- SC_MANAGER_QUERY_LOCK_STATUS file://允許查詢database的封鎖信息
---- 函數執行成功則返回一個指向service control manager
database的句柄,失敗則返回NULL。注意:WINNT通過一個名為service control manager database的數據庫來管理所有的Service,因此對Service的任何操作都應打開此數據庫。
---- 2. SC_HANDLE CreateService(SC_HANDLE
hSCManager,
LPCTSTR lpServiceName,
LPCTSTR lpDisplayName,
DWORD dwDesiredAccess,
DWORD dwServiceType,
DWORD dwStartType,
DWORD dwErrorControl,
LPCTSTR lpBinaryPathName,
LPCTSTR lpLoadOrderGroup,
LPDWORD lpdwTagId,
LPCTSTR lpDependencies,
LPCTSTR lpServiceStartName,
LPCTSTR lpPassword)
---- CreatService函數產生一個新的SERVICE。其中參數hSCManager為指向service
control manager database 的句柄,由OpenSCManager返回。LpServiceName為SERVICE的名字,lpDisplayName為Service顯示用名,dwDesiredAccess是訪問權限,本程序中用SERVICE_ALL_ACCESS。wServiceType,指明SERVICE類型,本程序中用SERVICE_WIN32_OWN_PROCESS|
SERVICE_INTERACTIVE_PROCESS。dwStartType為Service啟動方式,本程序采用自啟動,即dwStartType等于SERVICE_AUTO_START。
dwErrorControl說明當Service在啟動中出錯時采取什么動作,本程序采用SERVICE_ERROR_IGNORE即忽約錯誤,讀者可以改為其他的。LpBinaryPathName指明Service本體程序的路徑名。剩下的五個參數一般可設為NULL。如函數調用成功則返回這個新Service的句柄,失敗則返回NULL。與此函數對應的是DeleteService(
hService),它刪除指定的Service。
---- 3. SC_HANDLE OpenService(SC_HANDLE hSCManager,LPCTSTR
lpServiceName, DWORD dwDesiredAccess )
---- OpenService函數打開指定的Service。其中參數hSCManager為指向service
control manager database 的句柄,由OpenSCManager返回。LpServiceName為Service的名字,dwDesiredAccess是訪問權限,其可選值比較多,讀者可以參看SDK
Help. 函數調用成功則返回打開的Service句柄,失敗則返回NULL。
---- 4. BOOL StartService( SC_HANDLE hService,
DWORD dwNumServiceArgs,LPCTSTR *lpServiceArgVectors )
---- StartService函數啟動指定的Service。其中參數hService
為指向Service的句柄,由OpenService返回。dwNumServiceAr為啟動服務所需的參數的個數。lpszServiceArgs
為 啟 動 服務所需的參數。函數執行成功則返回True, 失敗則返回False。
---- 5. BOOL ControlService(SC_HANDLE hService
DWORD dwControl,LPSERVICE_STATUS lpServiceStatus )
---- Service程序沒有專門的停止函數,而是用ControlService函數來控制Service的暫停、繼續、停止等操作。參數dwControl指定發出的控制命令,可以為以下幾個值:
SERVICE_CONTROL_STOP file://停止Service
SERVICE_CONTROL_PAUSE file://暫停Service
SERVICE_CONTROL_CONTINUE file://繼續Service
SERVICE_CONTROL_INTERROGATE file://查詢Service的狀態
SERVICE_CONTROL_SHUTDOWN file://讓ControlService調用失效
---- 參數lpServiceStatus是一個指向SERVICE_STATUS的指針。SERVICE_STATUS是一個比較重要的結構,它包含了Service的各種信息,如當前狀態、可接受何種控制命令等等。
---- 6. BOOL QueryServiceStatus( SC_HANDLE
hService,LPSERVICE_STATUS lpServiceStatus )
---- QueryServiceStatus函數比較簡單,它查詢并返回當前Service的狀態。
---- 編制一個Service一般需要兩個程序,一個是Service本體,一個是用于對Service進行控制的控制程序。通常Service本體是一個console程序,而控制程序則是一個普通的Win32應用程序(當然,用戶不用控制程序而通過控制面板也可對Service進行啟、停,但不能進行添加、刪除操作。)
---- 首先,我們來編寫Service本體。對于Service本體來說,它一般又由以下三部分組成:main()、ServiceMain()、Handler(),下面是main()的源代碼:(注:由于篇幅的關系,大部分程序都沒進行錯誤處理,讀者可以自己添上)
下一頁 8
相關內容:
- C++ Builder的幾則小應用
- 在PowerBuilder中操作BLOB數據的技巧
- 用C++ Builder設定程序使用時間
- JBuilder下調試java程序最簡單的例子
- 如何在POWER BUILDER中使用WINSOCK控件
showBottom();
申明: 本站
所有內容均是從網上收集,若有侵范你版權的請指出,本站馬上刪除。
© Copyright By 稻香老農 2000.3 - Now | 站務聯系: 5xsoft@21cn.com | OICQ:593737 (只用于站務聯系,不做它用)
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合激情小说|
国产精品一区二区免费不卡|
日本成人在线电影网|
欧美色网站导航|
精品国产一区二区三区不卡
|
91蝌蚪国产九色|
制服.丝袜.亚洲.另类.中文|
亚洲欧洲精品一区二区三区不卡|
蜜臀av一区二区在线观看|
99国产精品一区|
久久亚洲综合色一区二区三区|
一区二区三区丝袜|
jlzzjlzz欧美大全|
久久理论电影网|
日韩电影免费在线观看网站|
91福利社在线观看|
亚洲色大成网站www久久九九|
国产精品综合av一区二区国产馆|
制服丝袜中文字幕亚洲|
亚洲免费在线电影|
99国产精品视频免费观看|
日韩一区二区免费电影|
午夜视频在线观看一区二区
|
波多野结衣欧美|
精品国产免费人成电影在线观看四季
|
亚洲电影一区二区三区|
91在线小视频|
成人欧美一区二区三区在线播放|
国产精品一区二区视频|
欧美成人欧美edvon|
美女高潮久久久|
久久婷婷色综合|
国产一二精品视频|
国产精品色婷婷久久58|
国产91精品一区二区麻豆网站|
国产亚洲欧美色|
国产成人精品亚洲日本在线桃色|
久久理论电影网|
成人黄色网址在线观看|
亚洲视频一区二区在线观看|
99re成人在线|
麻豆精品一区二区三区|
久久久久国产一区二区三区四区|
欧美精品一二三区|
欧美96一区二区免费视频|
日韩欧美一级片|
色噜噜狠狠成人中文综合|
亚洲欧美另类小说视频|
在线一区二区视频|
婷婷亚洲久悠悠色悠在线播放|
欧美日韩免费一区二区三区
|
欧美精品一区二区高清在线观看|
韩国av一区二区三区在线观看|
国产日韩v精品一区二区|
成人免费视频caoporn|
最新久久zyz资源站|
欧美色图免费看|
国产一区在线视频|
亚洲欧美一区二区三区极速播放
|
亚洲成人免费看|
精品久久久久久久久久久久久久久久久|
国产一区二区三区四区五区入口
|
91精品国产91热久久久做人人|
日本午夜精品视频在线观看|
久久婷婷色综合|
欧洲av一区二区嗯嗯嗯啊|
久久国内精品视频|
亚洲桃色在线一区|
精品国产伦理网|
91美女片黄在线观看|
美女视频黄a大片欧美|
中文字幕一区在线|
欧美一二三四在线|
av电影一区二区|
激情综合色丁香一区二区|
欧美激情一区二区三区全黄
|
一区二区三区在线播放|
在线综合亚洲欧美在线视频|
99免费精品在线|
久久99精品久久久|
一区二区视频免费在线观看|
2023国产精品自拍|
欧美亚洲日本国产|
懂色av一区二区三区蜜臀|
日韩在线观看一区二区|
...xxx性欧美|
2022国产精品视频|
69堂成人精品免费视频|
91色porny在线视频|
国产精品1区2区|
奇米在线7777在线精品|
亚洲精品乱码久久久久久久久|
欧美xxxxx牲另类人与|
欧美日韩一级大片网址|
粉嫩高潮美女一区二区三区|
久久精品免费观看|
调教+趴+乳夹+国产+精品|
亚洲乱码中文字幕|
国产精品白丝在线|
亚洲国产精品精华液2区45|
欧美一级高清大全免费观看|
欧美色图在线观看|
欧美在线不卡视频|
色婷婷综合久久久久中文一区二区|
狠狠色狠狠色综合系列|
青草av.久久免费一区|
日本中文一区二区三区|
午夜精品福利视频网站|
一区二区三区波多野结衣在线观看
|
91精品国产一区二区三区蜜臀
|
国产日韩欧美一区二区三区乱码
|
777奇米四色成人影色区|
91麻豆自制传媒国产之光|
波多野结衣91|
波多野结衣视频一区|
99精品视频中文字幕|
91在线你懂得|
91视频com|
欧美日韩中文另类|
欧美二区在线观看|
日韩美女视频一区二区在线观看|
91精品国产色综合久久ai换脸|
91精品国产麻豆国产自产在线|
欧美精品xxxxbbbb|
91精品国产品国语在线不卡|
欧美一区二区三区人|
日韩精品中文字幕一区二区三区|
精品国产电影一区二区|
久久久久99精品国产片|
国产精品视频麻豆|
亚洲美女屁股眼交|
日本少妇一区二区|
国产自产高清不卡|
成人短视频下载|
色婷婷av一区二区三区gif
|
日韩电影在线观看网站|
国内国产精品久久|
北岛玲一区二区三区四区|
色婷婷av一区二区|
欧美一级xxx|
国产精品久久午夜夜伦鲁鲁|
亚洲一区二区黄色|
美女一区二区三区|
fc2成人免费人成在线观看播放|
在线观看免费一区|
日韩午夜精品电影|
国产精品久久久久久久久快鸭|
一区二区三区国产豹纹内裤在线|
亚洲一区二区欧美日韩|
久久国内精品视频|
91福利资源站|
久久精品亚洲一区二区三区浴池|
视频一区中文字幕国产|
奇米色一区二区三区四区|
91日韩一区二区三区|
国产一区二区三区电影在线观看|
国产成人免费av在线|
在线亚洲人成电影网站色www|
欧美少妇一区二区|
亚洲国产日韩精品|
国产在线一区观看|
欧美精品tushy高清|
国产精品久久久久久亚洲伦|
亚洲精品成人a在线观看|
国产白丝网站精品污在线入口|
91精品福利在线一区二区三区|
亚洲一区二区三区四区在线观看|
久久久久9999亚洲精品|
亚洲一区国产视频|
成人免费视频免费观看|
欧美成人一级视频|
亚洲一级二级三级在线免费观看|
国产一区在线不卡|
欧美精品电影在线播放|
亚洲另类春色校园小说|
国产91丝袜在线观看|
91精品国产综合久久久久久漫画|
亚洲特黄一级片|
成人免费精品视频|
精品国产污网站|
六月丁香综合在线视频|
欧美精品在线观看播放|
洋洋成人永久网站入口|
91啪亚洲精品|
国产精品美女久久久久久久久
|
日韩精品三区四区|
91啪亚洲精品|
国产精品电影一区二区三区|
国产一区在线精品|
精品久久久三级丝袜|
美国欧美日韩国产在线播放|
欧美乱妇23p|
天天操天天色综合|
欧美色男人天堂|
亚洲18色成人|
91精品免费在线|
日韩高清在线观看|
日韩久久精品一区|
精品亚洲aⅴ乱码一区二区三区|
日韩亚洲欧美高清|