VC編寫有圖形介面的Windows服務程式

來源:互聯網
上載者:User

環境:Windows 2003,VC 6.0

摘要:從建立一個COM服務程式入手,然後將一個MFC項目改造成服務程式,最後讓這一程式在啟動時可以顯示圖形介面。

關鍵字:windows服務程式 COM服務程式 開機前啟動 NT服務 與案頭互動

一、什麼是windows的服務程式?

可以使用下面的幾種方法看到它。

開啟控制台,然後是管理工具,裡面有一個“服務”,雙擊後開啟;

或者是通過輸入命令的方式,開啟開始菜單,點擊運行,輸入mmc services.msc(mmc可省略),也可開啟;

我們會在開啟的頁面中看到一個大的列表,標題列上包含有名稱、描述、狀態、啟動類型、登入身份等項。其中在狀態一欄中顯示為“已啟動”的是系統中已經啟動了的服務。我們先看一下服務的屬性。舉個例子,找到Print Spooler這一名稱,然後用右鍵在上面點擊,選擇“屬性”,可以看到它所執行的命令列是C:\WINDOWS\system32\spoolsv.exe,按下停止後,工作管理員中spoolsv.exe進程退出。我們所見到的這個列表就是服務程式的集中地,每一項就是一個服務程式。

上面這些標為自啟動的服務程式隨系統一起啟動。它與一些修改註冊表:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

項,及類似登錄機碼的程式不同的是,即使使用者沒有登入到系統中,它們也是會啟動並執行,或者說它們在系統登入前運行。

二、怎麼建立自己的服務程式?

每一個服務程式對應登錄機碼HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下的一個子項。因此我們可以通過增加註冊表項的方式增加服務程式。比如,我現在要增加一個test1服務程式,對應的可執行檔是c:\test1.exe。那麼我要增加如下登錄機碼:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.