程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> C++Builder在WIN2000環境下編制Service

C++Builder在WIN2000環境下編制Service

編輯:vc教程

Windows 2000與Windows 9x有一個非常重要的區別,即Windows 2000提供了很多功能強大的Service(服務)。這些Service可以隨著WIN2000的啟動而自啟動,也可以讓用戶通過控制面板啟動,還可以被Win32應用程序起停。甚至在沒有用戶登錄系統的情況下,這些Service也能執行。許多FTP、WWW服務器和就是以Service的形式存在於WIN2000上,從而實現了無人值守。就連最新版的"黑客"程序Back Orifice 2000也是以Service形式在WIN2000上藏身的。由於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 //所有權限
SC_MANAGER_CONNECT //允許連接到service control manager database
SC_MANAGER_CREATE_SERVICE //允許創建服務對象並把它加入database
SC_MANAGER_ENUMERATE_SERVICE //允許枚舉database 中的Service
SC_MANAGER_LOCK //允許鎖住database
SC_MANAGER_QUERY_LOCK_STATUS //允許查詢database的封鎖信息

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved