[問題] 關閉執行檔

看板C_and_CPP (C/C++)作者 (ㄚ年)時間14年前 (2012/05/09 18:02), 編輯推噓2(2018)
留言20則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 問題(Question): 目前我用ShellExecute來開啟一個執行檔(稱為A.exe) 那我如何讓A.exe執行結束時 來關閉A.exe ShellExecute(NULL, NULL, "A.exe", NULL, NULL, SW_HIDE);//會產生res.txt ifstream fin("res.txt"); int cal_num=0; if(!fin){ cout << "res讀檔失敗" << endl; } // 檢查讀檔成功與否 while(!fin.eof()) { string s; getline(fin,s); char buf[10]; int nValue=0; strcpy(buf,s.c_str()); sscanf(buf,"%d",&nValue); cal[0][cal_num]=nValue; cal_num++; } fin.close(); // 關閉檔案 但是每次都會失敗 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.225.128

05/09 18:08, , 1F
A.exe 結束 A.exe 不就結束了嗎? XD
05/09 18:08, 1F

05/09 20:00, , 2F
...B程式用ShellExecute執行A.exe,B程式沒結束時A.exe不
05/09 20:00, 2F

05/09 20:01, , 3F
會結束的.........................
05/09 20:01, 3F

05/09 20:05, , 4F
樓上有點誤會...B程式用ShellExecute執行A.exe然後A.exe就
05/09 20:05, 4F

05/09 20:05, , 5F
自顧自的執行然後執行完就結束.
05/09 20:05, 5F

05/09 20:06, , 6F
即時A執行到一半時B就結束了A仍然會繼續執行直到結束.
05/09 20:06, 6F

05/09 20:08, , 7F
那為什麼我用A.exe執行產生一個txt檔,B程式卻要等到
05/09 20:08, 7F

05/09 20:09, , 8F
等個程式結束才會產生txt檔出來
05/09 20:09, 8F

05/09 20:12, , 9F
不太懂@@ 希望可以描述完整一點(或有部份code)
05/09 20:12, 9F

05/09 20:14, , 10F
我用B執行A. A執行時會產生個.txt. 然後B去印出那個.txt
05/09 20:14, 10F

05/09 20:14, , 11F
B在A結束後可以順利讀到那個.txt, 沒有你說的問題
05/09 20:14, 11F
※ 編輯: Nienchin 來自: 114.45.225.128 (05/09 20:23)

05/09 20:27, , 12F
在A還沒執行好,還沒建立檔案(或寫入檔案)時B就開檔了
05/09 20:27, 12F

05/09 20:29, , 13F
SOGA,那如何避免這問題哩?!
05/09 20:29, 13F

05/09 20:38, , 14F

05/09 20:39, , 15F
ment/viewdoc/?id=416
05/09 20:39, 15F

05/09 20:40, , 16F
Q: 如何启动一个程序,直到它运行结束?
05/09 20:40, 16F

05/09 20:47, , 17F
HINSTANCE
05/09 20:47, 17F

05/09 21:11, , 18F
Maybe use CreateProcess
05/09 21:11, 18F

05/09 21:12, , 19F
用PostThreadMessage(pi.dwThreadId, WM_QUIT, 0, 0);
05/09 21:12, 19F

05/09 21:28, , 20F
感謝 suhorng 成功了,謝謝。stupid0319大有範例嘛!?
05/09 21:28, 20F
文章代碼(AID): #1Fga37ON (C_and_CPP)
文章代碼(AID): #1Fga37ON (C_and_CPP)