經過qq群和論壇上的網友的提示協助,終於修改出可以執行的版本。
long __fastcall TFrmMain::WinExecAndWait(AnsiString acmdline, int Visibility)<br />{</p><p> char zAppName[512];</p><p> PROCESS_INFORMATION ProcessInfo = {0};</p><p> STARTUPINFO StartupInfo = {sizeof(StartupInfo)} ;//初始化,把第一個值付大小,其他為0 或設為空白NULL</p><p> memset(zAppName,0,sizeof(zAppName));<br /> strcpy(zAppName,acmdline.c_str());</p><p> StartupInfo.dwFlags = STARTF_USESHOWWINDOW;<br /> StartupInfo.wShowWindow = Visibility;<br />// StartupInfo.wShowWindow := SW_NORMAL;<br />// StartupInfo->wShowWindow = SW_HIDE;</p><p> if(!CreateProcess(NULL,zAppName,NULL,NULL,false,0,NULL,NULL,&StartupInfo,&ProcessInfo))<br /> {<br /> return -1;<br /> }<br /> else<br /> {<br /> unsigned long Result=0;<br /> WaitForSingleObject(ProcessInfo.hProcess,INFINITE);<br /> GetExitCodeProcess(ProcessInfo.hProcess,&Result);<br /> return Result;<br /> }</p><p>}</p><p>
ps:在qq群中有位網友“民工乙”給我建議協助最大,他對C++ mfc的熟悉程度和調試方法讓我感受頗深,可惜他現在只有高中文憑,結果投很多簡曆,都被被忽略了,沒有面試機會。