急救啊 大侠们 为什么
vc++6.0 控制台程序debug 版 release版void suspendProc(){STARTUPINFO si;si.cb=sizeof(STARTUPINFO);PROCESS_INFORMATION pi;char buffer[MAX_PATH]; GetSystemDirectory(buffer,sizeof(buffer));strcat(buffer,"\\notepad.exe");CreateProcess(buffer,NULL,NULL,NULL,false,0,NULL,NULL,&si,&pi);}int main(int argc, char* argv[]){ suspendProc(); getchar(); return 0;}为什么这两种版本都失败。但是在MFC程序中void CTestSespendDlg::OnButton1() { STARTUPINFO si; si.cb=sizeof(STARTUPINFO); PROCESS_INFORMATION pi; char buffer[MAX_PATH]; GetSystemDirectory(buffer,sizeof(buffer)); strcat(buffer,"\\notepad.exe"); CreateProcess(buffer,NULL,NULL,NULL,false,0,NULL,NULL,&si,&pi); }debug版本下面 失败 但是release版本下面成功 ???都是生成的exe文件 为什么呢???大牛们给出答案 谢谢啦
STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pi, sizeof(pi) ); char buffer[MAX_PATH]; GetSystemDirectory(buffer,sizeof(buffer)); strcat(buffer,"\\notepad.exe");
[解决办法]
一般DEBUG有问题的话,就有潜在隐患
[解决办法]