COM服務(wù)程序相關(guān)資料

COM服務(wù)程序相關(guān)資料

ID:45493126

大?。?5.50 KB

頁數(shù):8頁

時間:2019-11-13

COM服務(wù)程序相關(guān)資料_第1頁
COM服務(wù)程序相關(guān)資料_第2頁
COM服務(wù)程序相關(guān)資料_第3頁
COM服務(wù)程序相關(guān)資料_第4頁
COM服務(wù)程序相關(guān)資料_第5頁
資源描述:

《COM服務(wù)程序相關(guān)資料》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、環(huán)境:Windows2003,VC6.0摘要:從建立一個COM服務(wù)程序入手,然后將一個MFC項(xiàng)目改造成服務(wù)程序,最后讓這一程序在啟動時可以顯示圖形界面。關(guān)鍵字:windows服務(wù)程序COM服務(wù)程序開機(jī)前啟動NT服務(wù)與桌面交互 一、什么是windows的服務(wù)程序?可以使用下面的幾種方法看到它。1.打開控制面板,然后是管理工具,里面有一個“服務(wù)”,雙擊后打開;2.或者是通過輸入命令的方式,打開開始菜單,點(diǎn)擊運(yùn)行,輸入mmcservices.msc(mmc可省略),也可打開;環(huán)境:Windows2003,VC6.0摘要:從建立一個COM服務(wù)程序入手,然后將一個MFC項(xiàng)目改造成服務(wù)程序,

2、最后讓這一程序在啟動時可以顯示圖形界面。關(guān)鍵字:windows服務(wù)程序COM服務(wù)程序開機(jī)前啟動NT服務(wù)與桌面交互 一、什么是windows的服務(wù)程序?可以使用下面的幾種方法看到它。1.打開控制面板,然后是管理工具,里面有一個“服務(wù)”,雙擊后打開;2.或者是通過輸入命令的方式,打開開始菜單,點(diǎn)擊運(yùn)行,輸入mmcservices.msc(mmc可省略),也可打開;  我們會在打開的頁面中看到一個大的列表,標(biāo)題欄上包含有名稱、描述、狀態(tài)、啟動類型、登錄身份等項(xiàng)。其中在狀態(tài)一欄中顯示為“已啟動”的是系統(tǒng)中已經(jīng)啟動了的服務(wù)。我們先看一下服務(wù)的屬性。舉個例子,找到PrintSpooler這一

3、名稱,然后用右鍵在上面點(diǎn)擊,選擇“屬性”,可以看到它所執(zhí)行的命令行是C:WINDOWSsystem32spoolsv.exe,按下停止后,任務(wù)管理器中spoolsv.exe進(jìn)程退出。我們所見到的這個列表就是服務(wù)程序的集中地,每一項(xiàng)就是一個服務(wù)程序。 上面這些標(biāo)為自啟動的服務(wù)程序隨系統(tǒng)一起啟動。它與一些修改注冊表:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun 項(xiàng),及類似注冊表項(xiàng)的程序不同的是,即使用戶沒有登錄到系統(tǒng)中,它們也是會運(yùn)行的,或者說它們在系統(tǒng)登錄前運(yùn)行。二、怎么建立自己的服務(wù)程序? 

4、 每一個服務(wù)程序?qū)?yīng)注冊表項(xiàng)HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices下的一個子項(xiàng)。因此我們可以通過增加注冊表項(xiàng)的方式增加服務(wù)程序。比如,我現(xiàn)在要增加一個test1服務(wù)程序,對應(yīng)的可執(zhí)行文件是c:test1.exe。那么我要增加如下注冊表項(xiàng):1.[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices]下增加子項(xiàng)test1;2.test1下增加: 字符串型:"Description"="測試服務(wù)1" 字符串型:"DisplayName"="test1-displayn

5、ame" DWORD型:"ErrorControl"=dword:00000001 可擴(kuò)充字符串值(即文件所在路徑): "ImagePath"=hex(2):43,00,3a,00,5c,00,74,00,65,00,73,00,74,00,31,00,2e,00,65,00, 78,00,65,00,00,00 字符串型:"ObjectName"="LocalSystem" DWORD型,值為3表示是手動:"Start"=dword:00000003 DWORD型:"Type"=dword:000000201.test1下增加子項(xiàng): [HKEY_LOCAL_MACHINESY

6、STEMCurrentControlSetServicestest1Security] 里面的鍵值從其他的服務(wù)程序注冊表值中復(fù)制。  如果test1這一程序只是一個普通的win32程序,那么這樣做了之后還是不行,服務(wù)程序有它自己的一些結(jié)構(gòu)特點(diǎn)。那么怎么編寫這些服務(wù)程序?   建立一個服務(wù)程序的最簡單的方法是用VC中的ATLCOM向?qū)АV鞑藛沃羞x擇新建,然后選Projects中的ATLCOMAppWizard,輸入一個項(xiàng)目名,選擇了所在目錄后,點(diǎn)OK按鈕,在出現(xiàn)的對話框中選擇Service(EXE),點(diǎn)Finish即可。然后編譯生成test1.exe。   運(yùn)行test1.e

7、xe/regserver可以注冊程序?yàn)榉?wù),test1.exe/unregserver是取消注冊。test1.exe運(yùn)行時的參數(shù)是在: Project->Settings->Debug->Programarguments中設(shè)置。三、怎么在建立的服務(wù)程序中加入自己的代碼?我們看一下剛才生成的test1項(xiàng)目的結(jié)構(gòu)。   我們看到test1有一個類CServiceModule和一些Globals的內(nèi)容。Globals包括一個_tWinMain函數(shù),也就是程序的入口,其中使

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。