请问Winexec和CreateProcess的区别
请教Winexec和CreateProcess的区别
WinExec( "C:\\Program Files\\Ansys Inc\\v100\\ANSYS\\bin\\intel\\ansys.exe -i modaling.txt ", SW_SHOW);
这个可以运行,而下面的不行,为什么啊?
STARTUPINFO si;
PROCESS_INFORMATION pi;
memset(&si,0,sizeof(si));
si.cb=sizeof(si);
si.dwFlags=STARTF_USESTDHANDLES;
::CreateProcess(NULL,
"C:\\Program Files\\Ansys Inc\\v100\\ANSYS\\bin\\Intel\\ansys.exe -i modaling.txt ",
NULL,NULL,FALSE,
0,
NULL,
NULL,&si,&pi);
好像也没有看到特别的区别啊,所以来问问。后一个运行时就退出来一个出错的对话框,好像是Ntdll.dll的错误,应该怎么改才能用啊?因为想用pi传出来的参数。
------解决方案--------------------
CreateProcess比WinExec多很多控制,比如对新进程工作目录的控制
WinExec( "C:\\Program Files\\Ansys Inc\\v100\\ANSYS\\bin\\intel\\ansys.exe -i modaling.txt ", SW_SHOW);
这个可以运行,而下面的不行,为什么啊?
STARTUPINFO si;
PROCESS_INFORMATION pi;
memset(&si,0,sizeof(si));
si.cb=sizeof(si);
si.dwFlags=STARTF_USESTDHANDLES;
::CreateProcess(NULL,
"C:\\Program Files\\Ansys Inc\\v100\\ANSYS\\bin\\Intel\\ansys.exe -i modaling.txt ",
NULL,NULL,FALSE,
0,
NULL,
NULL,&si,&pi);
好像也没有看到特别的区别啊,所以来问问。后一个运行时就退出来一个出错的对话框,好像是Ntdll.dll的错误,应该怎么改才能用啊?因为想用pi传出来的参数。
------解决方案--------------------
CreateProcess比WinExec多很多控制,比如对新进程工作目录的控制