請問如何讓BCB開啟一個執行檔 |
|
iammaytoo
一般會員 發表:1 回覆:2 積分:0 註冊:2006-08-16 發送簡訊給我 |
我想要讓某個BCB的程式去開啟另一個BCB程式的執行檔 我嘗試過使用winexec 和 ShellExecute 這兩中方式 void __fastcall TForm1::Button1Click(TObject *Sender) 如程式碼所見,我適用一個Button來去觸發,可是按下去之後總是沒有反應 可是我打開工作管理員的處理程序裡卻有看到a.exe在執行,而且佔了CPU99% 後來我又使用另一個程式的執行檔執行看看,卻又可以呼叫出來,在螢幕上我也看的見 這兩個執行檔一個有使用到視訊和資料庫 ,另一個則只有單存的視訊 我在各大論壇上有看到還有另一種方式createprocess,看是看到的都適用在Delphi上的 所以用法也不是很清楚...... 不知道哪位大大可以幫我解答一下 |
iammaytoo
一般會員 發表:1 回覆:2 積分:0 註冊:2006-08-16 發送簡訊給我 |
|
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
<p>我想是不是因為你要執行的那程式很特別,並沒有呼叫到GetMessage()這個function,導致程式沒法回來而停住!</p> <p>可以試一下你說的createprocess的方法如下:</p> <p> </p>
<textarea class="cpp" rows="10" cols="60" name="code"> STARTUPINFO si; PROCESS_INFORMATION pi; LPTSTR szCmdline=_tcsdup(TEXT("test\\project1")); //Command line 的形式就可以 ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pi, sizeof(pi) ); // Start the child process. if( !CreateProcess( NULL, // No module name (use command line) szCmdline, // Command line NULL, // Process handle not inheritable NULL, // Thread handle not inheritable FALSE, // Set handle inheritance to FALSE 0, // No creation flags NULL, // Use parent's environment block NULL, // Use parent's starting directory &si, // Pointer to STARTUPINFO structure &pi ) // Pointer to PROCESS_INFORMATION structure ) { ShowMessage(String("").cat_sprintf("CreateProcess failed (%d).\n", GetLastError())); return; } // Wait until child process exits. WaitForSingleObject( pi.hProcess, INFINITE ); // Close process and thread handles. CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); </textarea>
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
aftcast
站務副站長 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
忘了說…
LPTSTR szCmdline=_tcsdup(TEXT("test\\project1")); //Command line 的形式就可以 這句話需要#include 其實也是可以換成 LPTSTR szCmdline="test\\project1"; 就不需要include了!
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
iammaytoo
一般會員 發表:1 回覆:2 積分:0 註冊:2006-08-16 發送簡訊給我 |
|
flair
一般會員 發表:0 回覆:4 積分:0 註冊:2003-04-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |