ShellExecute和WinExec |
答題得分者是:RaynorPao
|
a120803
初階會員 發表:61 回覆:66 積分:25 註冊:2003-03-12 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: ShellExecute(Form1->Handle,"open","D:\Microsoft Office\Office\WinWord.Exe",NULL,NULL,SW_SHOWNORMAL); WinExec("D:\Microsoft Office\Office\WinWord.Exe",SW_NORMAL); 1.上面這兩行程式在bcb寫的,不知道對不對? 2.這兩行程式會傳錯誤嗎 ,如何抓到錯誤碼? 3.handle是啥啊 ,是int還是char型態a120803 你好: (1)你自己都還沒有試過,發問是為了什麼呢?? (2)你自己都還沒有試過,發問是為了什麼呢?? (3)HANDLE 是四個 byte 的 DWORD(如果我沒有記錯的話) 備註: 你想要得到的一些資訊,在 M$DN 中都可以查得到 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/Shell/reference/functions/shellexecute.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/winexec.asp -- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2003/03/18 16:07:01
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
a120803
初階會員 發表:61 回覆:66 積分:25 註冊:2003-03-12 發送簡訊給我 |
|
a120803
初階會員 發表:61 回覆:66 積分:25 註冊:2003-03-12 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
|
a120803
初階會員 發表:61 回覆:66 積分:25 註冊:2003-03-12 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 謝謝版主回答問題 另外如何讓Word應用程式執行結束才跳至下一行程式執行呢,如以下程式? 這中間要加入什麼啊 WinExec("D:\Microsoft Office\Office\WinWord.Exe",SW_NORMAL); Table1->Open();a120803 你好: 請改成以下的做法 < class="code"> HANDLE handle; handle=ShellExecute(Form1->Handle, "open", "D:\\Microsoft Office\\Office\\WinWord.Exe", NULL, NULL, SW_SHOWNORMAL); WaitForSingleObject(handle, INFINITE); Table1->Open(); -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
引言:原來叫用外部程式要等它結束用法是如此的簡單呀!真是受教了包大人 < > 這招也趕快學起來 < > <>沒空更新的網頁... < href="http://big5.to/吃軟也吃硬">http://big5.to/吃軟也吃硬 C及指標教學,計算機概論,資訊管理導論... http://home.kimo.com.tw/dllee.tw http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell....引言: 謝謝版主回答問題 另外如何讓Word應用程式執行結束才跳至下一行程式執行呢,如以下程式? 這中間要加入什麼啊 WinExec("D:\Microsoft Office\Office\WinWord.Exe",SW_NORMAL); Table1->Open();a120803 你好: 請改成以下的做法 < class="code"> HANDLE handle; handle=ShellExecute(Form1->Handle, "open", "D:\\Microsoft Office\\Office\\WinWord.Exe", NULL, NULL, SW_SHOWNORMAL); WaitForSingleObject(handle, INFINITE); Table1->Open(); -- Enjoy Researching & Developing --
------
http://www.ViewMove.com |
a120803
初階會員 發表:61 回覆:66 積分:25 註冊:2003-03-12 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 事實上加入WaitForSingleObject並不能使程式執行結束後再執行下一行程式 因為windows是多工的環境,我執行過 我想出在下列程式 ShellExecute() while ( !UnknownFunction() ); //UnknownFunction可一直偵測ShellExecute程式是否在執行,如果沒有則跳出迴圈,只是我不知道UnknownFunction是要用哪一個函數a120803 你好: 請問你是如何做驗證的呢?? 先把程式碼改成以下這樣看看 < class="code"> HANDLE handle; handle=ShellExecute(Form1->Handle, "open", "D:\\Microsoft Office\\Office\\WinWord.Exe", NULL, NULL, SW_SHOWNORMAL); WaitForSingleObject(handle, INFINITE); ShowMessage("WinWord Terminate!"); 備註: (1)如果在 BCB 的 IDE 做測試(會有問題的) (2)你必須直接執行你的 EXE(從檔案總管),然後再看結果如何? (3)我的測試環境是 Windows 2000, SP3, BCB6.0, Update2,測試結果是沒有問 題的 > <>< class="code"> //-------------------------------------------------------------------- 更正!! 我又花時間試了一下,發現以上的做法,有時候可以,有的時候又不行 因此,我認定以上的說法是有問題的,因此,小弟我建議改成以下的做法 STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory(&si, sizeof(si)); si.cb=sizeof(si); ZeroMemory(&pi, sizeof(pi)); if(!CreateProcess(NULL, "\"C:\\Program Files\\Microsoft Office\\Office\\WinWord.Exe\"", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) { ShowMessage("CreateProcess failed!" IntToStr(GetLastError())); } WaitForSingleObject(pi.hProcess, INFINITE); CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); ShowMessage("WinWord terminate!"); //---------------------------------------------------------------------- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2003/03/19 11:29:46
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
a120803
初階會員 發表:61 回覆:66 積分:25 註冊:2003-03-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |