全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1627
推到 Plurk!
推到 Facebook!

NT-Service 執行外部程式

答題得分者是:deal
tylin123
初階會員


發表:33
回覆:53
積分:32
註冊:2003-05-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-21 14:56:18 IP:61.218.xxx.xxx 未訂閱
請問各位:    我知道在 Win32 的作業系統下要執行外部程式須使用 WinExec()或 ShellExecute() 的 API, 但是如果我所寫的專案是 NT-Service 的專案 是否也可以呼叫 WinExec() 的 API, 因為我實驗的結果是...它都不理我 我的程式很簡單,只要
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-21 15:19:43 IP:203.73.xxx.xxx 未訂閱
引言: 請問各位: 我知道在 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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-21 15:41:53 IP:61.218.xxx.xxx 未訂閱
首先,先謝謝您的回答.    至於 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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-21 16:13:39 IP:203.73.xxx.xxx 未訂閱
引言: 首先,先謝謝您的回答. 至於 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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-22 13:19:19 IP:61.218.xxx.xxx 未訂閱
我可能發現問題所在,不過不是很確定,所以請教知道的先進們:    問題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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-07-22 13:51:59 IP:163.29.xxx.xxx 未訂閱
引言: 我可能發現問題所在,不過不是很確定,所以請教知道的先進們: 問題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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-07-22 14:40:39 IP:61.218.xxx.xxx 未訂閱
問題解決了    謝謝!    
引言: 我目前的工作正好與你的需求一模一樣,但我並沒你說的問題,光看你的敘述實在無法找出問題,所以我把我知道的先說出來,你檢查看看 1. 我的平台是win2k pro sp3 bcb6 pro 2. 在Service中確實可以使用ADO 3. 若外部程式是個GUI程式,那你的Service必須將Interactive的屬性設為true,否則該程式雖然能執行,但界面無法顯示出來(可用工作管理員檢查就知道了) 4. 我是用ShellExecute,而不是WinExec,但我猜問題應不是出在這裡 你先再檢查看看吧,若還不行的話,只好請其它高手出招了!
系統時間:2024-05-02 9:19:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!