從NT服務啟動Windows程式

來源:互聯網
上載者:User

介紹

通常,NT服務是控制台應用程式,它沒有訊息迴圈。不必等到使用者 登陸電腦,NT服務便能啟動,並且在使用者登出之後,它也不會停止運行。然而, 許多現存的ActiveX控制項很難,有時候根本不可能在控制台程式中使用。

另一方面,MFC和VB程式都是Windows應用程式,所以在MFC或VB程式中使用 ActiveX控制項相當簡單。要是能使MFC和VB程式像NT服務一樣運行就不錯了:

• 在使用者登陸電腦之前就啟動

• 在使用者登出電腦之 後繼續運行

可以用Windows程式的形式直接寫NT服務,但是本文要提供一 個更簡單的解決方案。本文配套原始碼是一個簡單的NT服務程式,它能夠啟動和 關閉其它程式。所有你需要做的是安裝這個服務,修改.ini檔案。下面是使用此 NT服務的好處。

• 它能夠啟動你指定的任意多個程式。被啟動的 程式將像 NT 服務一樣運行(例如,不用使用者登陸機器,它們便會在後台運行) 。

• 在沒有合適特權情況下,使用者不能終止由此服務啟動的程式 (除非機器關閉)。

• 你可以在 NT 服務之外測試和調試你的程 序。例如,你可以在 DevStudio 調試器中運行你的程式,單步進入原始碼中查 找錯誤等。當“調試無錯”後,你將它配置成產品,從 NT 服務啟動 它。

XYNTService

XYNTService.exe是此NT服務程式可執行檔的名字 。它是我研發的客戶-伺服器開發工具的一部分。你可以免費使用和修改本文包 含的原始碼。我知道也有其它的工具提供和XYNTService幾乎相同的功能。然而 ,如你所見,XYNTService擁有更多的特性,並且更容易使用(例如,不需要編 輯註冊表)。下面顯示了如何使用此程式。

• 為了安裝(install )服務,在命令提示字元下運行下面命令:XYNTService -i

• 為了 卸載(un-install)服務,在命令提示字元下運行下面命令:XYNTService - u

預設情況下,在電腦重啟時,安裝的服務便會自動啟動。你也可以使用 服務表徵圖從控制台啟動和關閉服務。服務啟動時,它將會一個挨一個地建立在 XYNTService.ini檔案中定義的所有進程。服務關閉時,它將會終止這些進程( 以相反順序)。XYNTService.ini檔案應該和可執行檔放在相同的目錄。下面 是此檔案的一個例子。

[Settings]
 ServiceName = XYNTService
 ProcCount = 3
 CheckProcess = 30
  [Process0]
 CommandLine = c:\MyDir\XYRoot.exe
 WorkingDir = c:\MyDir
 PauseStart = 1000
 PauseEnd = 1000
  UserInterface = Yes
 Restart = Yes
 [Process1]
  CommandLine = c:\MyDir\XYDataManager.exe
 WorkingDir = c:\MyDir
 PauseStart = 1000
 PauseEnd = 1000
  UserInterface = Yes
 Restart = Yes
 [Process2]
  CommandLine= java XYRoot.XYRoot XYRootJava.ini
 UserInterface = No
 Restart = No

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.