推 renderer:試試 Win32 的 ShellExecute, ShellExecuteEx 11/10 20:52
→ Iamjkc:可以說詳細點嗎? 我查不到這個指令 11/10 21:04
→ UNARYvvv:你查哪邊查不到? 去 MSDN 看看吧..要不然 google 也有 11/11 00:26
> -------------------------------------------------------------------------- <
作者: ssagit (ssagit) 看板: C_and_CPP
標題: Re: [問題] 請問想在程式中要執行某個執行檔的問題
時間: Fri Nov 11 00:19:49 2005
※ 引述《Iamjkc (跟正妹無緣)》之銘言:
: 就是想要在程式中間 半路執行一個已經編譯好的執行檔
: 我原本的做法是這樣
: void main(){
: .
: .
: .
: system("****.exe");
: .
: }
: 後來知道 這樣要等到exe檔執行完才能執行接下來的動作
: 偏偏 我這個執行檔開啟後就不會關閉
: 所以想要知道有什麼辦法 是可以開啟執行檔後 就繼續執行下面的指令
: 有朋友說 好像是用 process或是 thread 可是我翻了一下書 似乎都說的太複雜
: 有沒有比較簡單的方式即可? 感謝
如果你是在 Windows 下寫程式,
而且是用 Dev-C++ 或 VC++,
可以試試這樣的寫法:
#include <windows.h>
int main(int argc, char *argv[])
{
// ....
WinExec("xxxx.exe", SW_SHOWNORMAL);
// ....
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.67.213.177
推 UNARYvvv:WinExec 主要是為了相容 16-bit Windows 所以盡量別用 11/11 00:29
推 Iamjkc:感謝你的方法 可是有個問題就是我這個執行檔是要撥放影像 11/11 00:30
→ Iamjkc:可是剛剛我是 程式的確有被呼叫 可是我看不要影像阿!! 11/11 00:31
※ 編輯: ssagit 來自: 203.67.213.177 (11/11 00:32)
→ Iamjkc:有別的嗎? 我有試過寫thread 可是都失敗 >< 11/11 00:31
推 ssagit:Sorry, 請把 WinExec 的第二個參數改用 SW_SHOWNORMAL 即可 11/11 00:32
→ ssagit:UNARYvvv 說的是可以改用 CreateProcess 來取代 WinExec, 11/11 00:38
→ ssagit:不過它的參數比較複雜, 就留給你自己去看了.... 11/11 00:38
→ ssagit:如果只是應急, 我覺得用 WinExec 倒是還好.... 11/11 00:39
推 Iamjkc:感恩 早知道就問了 弄thread老半天 結果這招就搞定了 11/11 00:51
> -------------------------------------------------------------------------- <
作者: UNARYvvv (有趣生活) 看板: C_and_CPP
標題: Re: [問題] 請問想在程式中要執行某個執行檔的問題
時間: Fri Nov 11 00:37:58 2005
※ 引述《Iamjkc (跟正妹無緣)》之銘言:
: 就是想要在程式中間 半路執行一個已經編譯好的執行檔
: 我原本的做法是這樣
: void main(){
: .
: .
: .
: system("****.exe");
: .
: }
: 後來知道 這樣要等到exe檔執行完才能執行接下來的動作
: 偏偏 我這個執行檔開啟後就不會關閉
: 所以想要知道有什麼辦法 是可以開啟執行檔後 就繼續執行下面的指令
: 有朋友說 好像是用 process或是 thread 可是我翻了一下書 似乎都說的太複雜
: 有沒有比較簡單的方式即可? 感謝
基本上只要改成這樣就可以了:
system("start ****.exe");
例如我要執行記事本,然後不用等記事本結束,馬上接著顯示一行文字
可以這樣做:
system("start notepad");
puts("after launching notepad");
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.86.120
→ Iamjkc:可以真感謝 唉還是這邊比較強 問同學反而給錯方向 謝謝 11/11 00:54