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

WindowsNT下Service編程

編輯:vc教程

----此例中原程序使用Delphi編制,老妖將之改成CB版。:D

----WindowsNTServer提供多種功能強大的服務(Service),例如FTP,WWW或遠程登錄服務,另外常用的數據庫服務器也是以Service的形式存在於NTServer上的,如Sybase SQLServer For NT。Service一般在NT啟動時自動啟動,在NT關機時停止。但是有時用戶可能想手工啟動、暫停、停止某項Service,這就需要在控制面板中進行配置,對於不太熟悉NT的用戶來說比較困難;對於軟件開發人員,有時需要在軟件中訪問和操作某項Service,甚至可能需要開發新Service的提供給用戶使用。上面兩種情況都可以通過對Service的編程來解決。對Service的編程涉及到NT的內核,比較復雜且相關資料較少,給軟件開發人員帶來很多困難,筆者通過對WindowsNT的API的分析找到了相應的編程方法,再此介紹給大家。

----在WindowsNT下,各種Service都存在service control manager database中,因此我們可以通過對service control manager database進行操作來實現對Service的編程。下面介紹常用的函數:

1:SC_HANDLE OpenSCManager(LPCTSTR lpszMachineName,LPCTSTR lpszDatabaseName,DWORD fdwDesiredAccess);

----Open SCManager 函數打開指定計算機上的service control manager database。其中參數lpszMachineName指定計算機名,若為空則指定為本機。參數lpszDatabaseName指定要打開的service control manager database,默認為空。

----參數fdwDesiredAccess指定操作的權限,可以為下面取值之一

SC_MANAGER_ALL_ACCESS    //所有權限

SC_MANAGER_CONNECT      //允許連接service control manager

SC_MANAGER_CREATE_SERVICE  //允許創建服務對象並把它加入service control manager database

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