我在我的一个普通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秒钟,然后就消失了,请问是什么原因(代码一模一样)?我的参数哪里不对了???
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秒钟,然后就消失了,请问是什么原因(代码一模一样)?我的参数哪里不对了???
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货