用Delphi創(chuàng)建服務(wù)程序

用Delphi創(chuàng)建服務(wù)程序

ID:37295574

大?。?2.68 KB

頁數(shù):14頁

時間:2019-05-21

用Delphi創(chuàng)建服務(wù)程序_第1頁
用Delphi創(chuàng)建服務(wù)程序_第2頁
用Delphi創(chuàng)建服務(wù)程序_第3頁
用Delphi創(chuàng)建服務(wù)程序_第4頁
用Delphi創(chuàng)建服務(wù)程序_第5頁
資源描述:

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

1、用Delphi創(chuàng)建服務(wù)程序Windows2000/XP和2003等支持一種叫做"服務(wù)程序"的東西.程序作為服務(wù)啟動有以下幾個好處:(1)不用登陸進系統(tǒng)即可運行.(2)具有SYSTEM特權(quán).所以你在進程管理器里面是無法結(jié)束它的.筆者在2003年為一公司開發(fā)機頂盒項目的時候,曾經(jīng)寫過課件上傳和媒體服務(wù),下面就介紹一下如何用Delphi7創(chuàng)建一個Service程序.運行Delphi7,選擇菜單File-->New-->Other--->ServiceApplication.將生成一個服務(wù)程序的框架.將工程保存為ServiceDemo.dp

2、r和Unit_Main.pas,然后回到主框架.我們注意到,Service有幾個屬性.其中以下幾個是我們比較常用的:(1)DisplayName:服務(wù)的顯示名稱(2)Name:服務(wù)名稱.我們在這里將DisplayName的值改為"Delphi服務(wù)演示程序",Name改為"DelphiService".編譯這個項目,將得到ServiceDemo.exe.這已經(jīng)是一個服務(wù)程序了!進入CMD模式,切換致工程所在目錄,運行命令"ServiceDemo.exe/install",將提示服務(wù)安裝成功!然后"netstartDelphiServi

3、ce"將啟動這個服務(wù).進入控制面版-->管理工具-->服務(wù),將顯示這個服務(wù)和當前狀態(tài).不過這個服務(wù)現(xiàn)在什么也干不了,因為我們還沒有寫代碼:)先"netstopDelphiService"停止再"ServiceDemo.exe/uninstall"刪除這個服務(wù).回到Delphi7的IDE.我們的計劃是為這個服務(wù)添加一個主窗口,運行后任務(wù)欄顯示程序的圖標,雙擊圖標將顯示主窗口,上面有一個按鈕,點擊該按鈕將實現(xiàn)Ctrl+Alt+Del功能.實際上,服務(wù)程序莫認是工作于Winlogon桌面的,可以打開控制面板,查看我們剛才那個服務(wù)的屬性--

4、>登陸,其中"允許服務(wù)與桌面交互"是不打鉤的.怎么辦?呵呵,回到IDE,注意那個布爾屬性:Interactive,當這個屬性為True的時候,該服務(wù)程序就可以與桌面交互了.File-->New-->Form為服務(wù)添加窗口FrmMain,單元保存為Unit_FrmMain,并且把這個窗口設(shè)置為手工創(chuàng)建.完成后的代碼如下:unitUnit_Main;interfaceusesWindows,Messages,SysUtils,Classes,Graphics,Controls,SvcMgr,Dialogs,Unit_FrmMain;ty

5、peTDelphiService=class(TService)procedureServiceContinue(Sender:TService;varContinued:Boolean);procedureServiceExecute(Sender:TService);procedureServicePause(Sender:TService;varPaused:Boolean);procedureServiceShutdown(Sender:TService);procedureServiceStart(Sender:TServ

6、ice;varStarted:Boolean);procedureServiceStop(Sender:TService;varStopped:Boolean);private{Privatedeclarations}publicfunctionGetServiceController:TServiceController;override;{Publicdeclarations}end;varDelphiService:TDelphiService;FrmMain:TFrmMain;implementation{$R*.DFM}p

7、rocedureServiceController(CtrlCode:DWord);stdcall;beginDelphiService.Controller(CtrlCode);end;functionTDelphiService.GetServiceController:TServiceController;beginResult:=ServiceController;end;procedureTDelphiService.ServiceContinue(Sender:TService;varContinued:Boolean)

8、;beginwhilenotTerminateddobeginSleep(10);ServiceThread.ProcessRequests(False);end;end;procedureTDelphiService.Service

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

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

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