我在我的一个普通win32程序中调用:
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
if(MessageBox(NULL, "Warning", "Warning", MB_OKCANCEL) == IDOK)
{
STARTUPINFO         siStartupInfo;
PROCESS_INFORMATION piProcessInfo;

memset(&siStartupInfo, 0, sizeof(siStartupInfo));
memset(&piProcessInfo, 0, sizeof(piProcessInfo));

siStartupInfo.cb = sizeof(siStartupInfo);

if(CreateProcess(
"C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE", // Application name
"IEXPLORE.EXE http://doc-server", // Application arguments
0,
0,
FALSE,
CREATE_DEFAULT_ERROR_MODE,
0,
0, // Working directory
&siStartupInfo,
&piProcessInfo) == FALSE) // Could not start application -> print log into the file
{
fprintf(g_Handle,"create process failled !\n");
fflush(g_Handle);
}
}; return 0;
}
一切很好。但是我在我的后台service调用,IE进程在资源管理器中就出现了1秒钟,然后就消失了,请问是什么原因(代码一模一样)?我的参数哪里不对了???