NT-Service 執行外部程式 |
答題得分者是:deal
|
tylin123
初階會員 發表:33 回覆:53 積分:32 註冊:2003-05-19 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 請問各位: 我知道在 Win32 的作業系統下要執行外部程式須使用 WinExec()或 ShellExecute() 的 API, 但是如果我所寫的專案是 NT-Service 的專案 是否也可以呼叫 WinExec() 的 API, 因為我實驗的結果是...它都不理我 我的程式很簡單,只要 ><>>> } 謝謝. >>< face="Verdana, Arial, Helvetica">tylin123 你好: (1)我已經試過了,應該是可以的,請問你的 EXEFileName 的內容是什麼?? 在 使用 WinExec 這個 Win32 API 的時候要特別注意有空格的地方要特別處理 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/winexec.asp (2)不然就先加入上面紅色那一行程式碼,確定那個 event procedure 有被觸發-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
tylin123
初階會員 發表:33 回覆:53 積分:32 註冊:2003-05-19 發送簡訊給我 |
首先,先謝謝您的回答. 至於 EXEFileName 是我的變數名稱,不好意思忘了註名.
另外,我也用過您所說的 ShowMessage() 來檢視是否有執行到 WinExec(),
我在 WinExec() 前後都各放置 ShowMessage("執行前") 及 ShowMessage("執行後"), 不過,另人失望的是...在 WinExec("執行前") 有出現, 但卻沒出現的ShowMessage("執行後") , 而且我加了 ShowMessage() 後會發生一個
很嚴重的副作用問題,那就是當我 Uninstall 後, 接著到 '服務' 的程式要將該
Service 移除便會出現系統錯誤訊息,
我知道,問題出在我本身的成份居多,但是這是什麼樣的問題呢? 真麻煩. <>< face="Verdana, Arial, Helvetica">引言:
tylin123 你好: (1)我已經試過了,應該是可以的,請問你的 EXEFileName 的內容是什麼?? 在 使用 WinExec 這個 Win32 API 的時候要特別注意有空格的地方要特別處理 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/winexec.asp (2)不然就先加入上面紅色那一行程式碼,確定那個 event procedure 有被觸發-- Enjoy Researching & Developing -- |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 首先,先謝謝您的回答. 至於 EXEFileName 是我的變數名稱,不好意思忘了註名. 另外,我也用過您所說的 ShowMessage() 來檢視是否有執行到 WinExec(), 我在 WinExec() 前後都各放置 ShowMessage("執行前") 及 ShowMessage("執行後"), 不過,另人失望的是...在 WinExec("執行前") 有出現, 但卻沒出現的ShowMessage("執行後") , 而且我加了 ShowMessage() 後會發生一個 很嚴重的副作用問題,那就是當我 Uninstall 後, 接著到 '服務' 的程式要將該 Service 移除便會出現系統錯誤訊息, 我知道,問題出在我本身的成份居多,但是這是什麼樣的問題呢? 真麻煩. >>< face="Verdana, Arial, Helvetica"> tylin123 你好: 那先不要用 ShowMessage 了,改用 DebugView 這個工具,先把問題找到再說 (請利用關鍵字 DebugView 在本站搜尋,就可以找到這個工具了) --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
tylin123
初階會員 發表:33 回覆:53 積分:32 註冊:2003-05-19 發送簡訊給我 |
我可能發現問題所在,不過不是很確定,所以請教知道的先進們: 問題1: 因為我的 Service 程式中含有 ADO 資料庫元件
(ADO資料庫元件是否不可在 Service 中使用?)
問題2: 如果 Service 所要執行的外部程式,如果該外部程式含有 GUI ,
是否會無法顯示出來? 謝謝!
引言: 請問各位: 我知道在 Win32 的作業系統下要執行外部程式須使用 WinExec()或 ShellExecute() 的 API, 但是如果我所寫的專案是 NT-Service 的專案 是否也可以呼叫 WinExec() 的 API, 因為我實驗的結果是...它都不理我 我的程式很簡單,只要 >>< face="Verdana, Arial, Helvetica"> |
deal
一般會員 發表:6 回覆:33 積分:22 註冊:2003-04-07 發送簡訊給我 |
引言: 我可能發現問題所在,不過不是很確定,所以請教知道的先進們: 問題1: 因為我的 Service 程式中含有 ADO 資料庫元件 (ADO資料庫元件是否不可在 Service 中使用?) 問題2: 如果 Service 所要執行的外部程式,如果該外部程式含有 GUI , 是否會無法顯示出來? 謝謝!我目前的工作正好與你的需求一模一樣,但我並沒你說的問題,光看你的敘述實在無法找出問題,所以我把我知道的先說出來,你檢查看看 1. 我的平台是win2k pro sp3 bcb6 pro 2. 在Service中確實可以使用ADO 3. 若外部程式是個GUI程式,那你的Service必須將Interactive的屬性設為true,否則該程式雖然能執行,但界面無法顯示出來(可用工作管理員檢查就知道了) 4. 我是用ShellExecute,而不是WinExec,但我猜問題應不是出在這裡 你先再檢查看看吧,若還不行的話,只好請其它高手出招了! |
tylin123
初階會員 發表:33 回覆:53 積分:32 註冊:2003-05-19 發送簡訊給我 |
問題解決了 謝謝!
引言: 我目前的工作正好與你的需求一模一樣,但我並沒你說的問題,光看你的敘述實在無法找出問題,所以我把我知道的先說出來,你檢查看看 1. 我的平台是win2k pro sp3 bcb6 pro 2. 在Service中確實可以使用ADO 3. 若外部程式是個GUI程式,那你的Service必須將Interactive的屬性設為true,否則該程式雖然能執行,但界面無法顯示出來(可用工作管理員檢查就知道了) 4. 我是用ShellExecute,而不是WinExec,但我猜問題應不是出在這裡 你先再檢查看看吧,若還不行的話,只好請其它高手出招了! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |