Windows 7 下使用 VS2008 编程,为了打开一个文本文件,分别调用了:
(1) WinExec;(2) CreateProcess;(3) ShellExecute.
调用的代码如下:
(1) WinExec(csSaveFilename,1);
(2) PROCESS_INFORMATION pi;
STARTUPINFO si;
memset(&si,0,sizeof(si));
si.cb = sizeof(si);
si.wShowWindow = SW_SHOW;
si.dwFlags = STARTF_USESHOWWINDOW;
// CreateProcess("Notepad.exe",csSaveFilename.GetBuffer(),NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
CreateProcess(NULL,csSaveFilename.GetBuffer(),NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
csSaveFilename.ReleaseBuffer();
(3) ShellExecute(NULL,"open",csSaveFilename.GetBuffer(),NULL,NULL,SW_SHOW);
csSaveFilename.ReleaseBuffer();
结果: 只有 ShellExecute 完成了功能,其它两种调用后无反应或报错。