我在初始化函数中用createprocess调用程序后主介面却自动隐藏了,怎么解决
BOOL CPDCOPYDlg::OnInitDialog()//初始化函数;
{ 。。
。。
// TODO: Add extra initialization here
STARTUPINFO si0; //
memset(&si0,0,sizeof(STARTUPINFO));
si0.cb = sizeof(STARTUPINFO);
si0.dwFlags = STARTF_USESHOWWINDOW;
si0.wShowWindow =SW_HIDE;//
PROCESS_INFORMATION pi0; //
。。
。。
if(::CreateProcess(NULL,batFilePath,NULL,NULL,NULL,NULL ,NULL,NULL,&si0,&pi0))// 运行bat
{。}
}
但我只要不在初始化中添加就不会,应该怎么解决呢,求指教!
BOOL CPDCOPYDlg::OnInitDialog()//初始化函数;
{ 。。
。。
// TODO: Add extra initialization here
STARTUPINFO si0; //
memset(&si0,0,sizeof(STARTUPINFO));
si0.cb = sizeof(STARTUPINFO);
si0.dwFlags = STARTF_USESHOWWINDOW;
si0.wShowWindow =SW_HIDE;//
PROCESS_INFORMATION pi0; //
。。
。。
if(::CreateProcess(NULL,batFilePath,NULL,NULL,NULL,NULL ,NULL,NULL,&si0,&pi0))// 运行bat
{。}
}
但我只要不在初始化中添加就不会,应该怎么解决呢,求指教!
另外我发现我在初始化程序中两次调用CreateProcess了,如果我只调用一次,主窗口是会正常显示的,而当我用CreateProcess两次运行bat文件时就会发生主窗口自动隐藏,
今天我在初始化函数后面加入下列代码强制显示主窗口了,运行的确可以显示主窗口了,但主窗口好像时处于非激活状态,只要这个时候点击主窗口,就提示无响应云云,,,
UINT nCmdShow = SW_SHOW;
if (!IsWindowVisible())
nCmdShow = SW_SHOW;
else if (IsIconic())
nCmdShow = SW_RESTORE;
ShowWindow(nCmdShow);
SetForegroundWindow();