CreateProcess("C:\\win95\\notepad.exe",
"readme.txt",NULL,NULL,FALSE,
CREATE_DEFAULT_ERROR_MODE,NULL,
"C:\\WIN95",NULL,NULL);
"readme.txt",NULL,NULL,FALSE,
CREATE_DEFAULT_ERROR_MODE,NULL,
"C:\\WIN95",NULL,NULL);
解决方案 »
- 哥,帮个忙呗!怎样获取对话框托盘菜单的句柄!
- 请问下,在VC下,要实现可编辑表格的功能该用什么控件
- 在对话框中,如何让picture控件显示位图时带上滚动条并能拖动显示,急!请大侠帮助!
- 在SDI静态切分窗口界面中怎么加入不了CLISTVIEW类啊?
- 高分求救:Sochet编程问题
- 如何使用VC的消息传递来控制flash object
- 请教各位高手:如何在CEditVew中通过自己发消息实现打字
- 请教一个这样的问题
- 用vc写的ocx控件在vb内使用出现的怪问题
- 高分!!!谁知道哪里有ODK(office developer's kit)???回答任一个问题都有分!
- 紧急求组
- 怎样抓桌面的背景图?
我可不想你失望,真是挺可怜的.我也经常遇到你地情况.
我的程序很简单,只是时间急,随便从我的程序中拷了一点,
它是用来打开一个安装程序的,并且通过WM_TIMER事件来监视
他是否退出了.
怎么样,我这个朋友还不错吧,希望我以后也能有你这样的好运.
void CLoadAppDlg::OnButton1()
{
PROCESS_INFORMATION pi;
ZeroMemory(&pi,sizeof(PROCESS_INFORMATION));
STARTUPINFO si;
ZeroMemory(&si,sizeof(STARTUPINFO));
si.cb=sizeof(STARTUPINFO);
si.wShowWindow=SW_SHOW;
si.dwFlags=STARTF_USESHOWWINDOW;
BOOL fRet=::CreateProcess("d:\\project\\hmis\\debug\\hmis.exe",
NULL/*"c:\\windows\\notepad.exe c:\\autoexec.bat"*/,
NULL,
NULL,
FALSE,
NORMAL_PRIORITY_CLASS|CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi);
if(fRet)
{m_hProcess=pi.hProcess;
this->ShowWindow(SW_HIDE);
SetTimer(1,100,NULL);
}
}void CLoadAppDlg::OnTimer(UINT nIDEvent)
{ DWORD dwExitCode;
if(::GetExitCodeProcess(m_hProcess,&dwExitCode))
{
if(dwExitCode!=STILL_ACTIVE)
{
CloseHandle(m_hProcess);
this->ShowWindow(SW_SHOW);
KillTimer(1);
}
}
CDialog::OnTimer(nIDEvent);
}
我可不想你失望,真是挺可怜的.我也经常遇到你地情况.
我的程序很简单,只是时间急,随便从我的程序中拷了一点,
它是用来打开一个安装程序的,并且通过WM_TIMER事件来监视
他是否退出了.
怎么样,我这个朋友还不错吧,希望我以后也能有你这样的好运.
void CLoadAppDlg::OnButton1()
{
PROCESS_INFORMATION pi;
ZeroMemory(&pi,sizeof(PROCESS_INFORMATION));
STARTUPINFO si;
ZeroMemory(&si,sizeof(STARTUPINFO));
si.cb=sizeof(STARTUPINFO);
si.wShowWindow=SW_SHOW;
si.dwFlags=STARTF_USESHOWWINDOW;
BOOL fRet=::CreateProcess("d:\\project\\hmis\\debug\\hmis.exe",
NULL/*"c:\\windows\\notepad.exe c:\\autoexec.bat"*/,
NULL,
NULL,
FALSE,
NORMAL_PRIORITY_CLASS|CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi);
if(fRet)
{m_hProcess=pi.hProcess;
this->ShowWindow(SW_HIDE);
SetTimer(1,100,NULL);
}
}void CLoadAppDlg::OnTimer(UINT nIDEvent)
{ DWORD dwExitCode;
if(::GetExitCodeProcess(m_hProcess,&dwExitCode))
{
if(dwExitCode!=STILL_ACTIVE)
{
CloseHandle(m_hProcess);
this->ShowWindow(SW_SHOW);
KillTimer(1);
}
}
CDialog::OnTimer(nIDEvent);
}
ZeroMemory((void*)&stinfo, sizeof(STARTUPINFO));
PROCESS_INFORMATION ProcessInfo;
LPSTR sExefile = "d:\\supercall.exe";
stinfo.cb = sizeof(STARTUPINFO);
stinfo.dwFlags = STARTF_USESHOWWINDOW;
stinfo.wShowWindow = SW_SHOW;
if ( !CreateProcess(sExefile,sExefile,NULL,NULL,false,0,
NULL,NULL,&stinfo,&ProcessInfo) )
{
DWORD dwRet = GetLastError();
}
STARTUPINFO si ;
PROCESS_INFORMATION pi ;
char cName[100] = "C:\\windows\\Notepad.exe";
memset (&si, 0, sizeof (STARTUPINFO)) ;
si.cb = sizeof (STARTUPINFO) ;
si.dwFlags = STARTF_USESHOWWINDOW ;
si.wShowWindow = SW_SHOWNOACTIVATE ;
memset (&pi, 0, sizeof (PROCESS_INFORMATION));
bOk = CreateProcess(NULL,cName,NULL,NULL,FALSE,
(DWORD) NORMAL_PRIORITY_CLASS,NULL,NULL,&si, &pi);
{
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need. /*CProcessdbDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: Place code here to handle when the dialog is
// dismissed with OK
}
else if (nResponse == IDCANCEL)
{
// TODO: Place code here to handle when the dialog is
// dismissed with Cancel
}
*/
PROCESS_INFORMATION pi;
ZeroMemory(&pi,sizeof(PROCESS_INFORMATION));
STARTUPINFO si;
ZeroMemory(&si,sizeof(STARTUPINFO));
si.cb=sizeof(STARTUPINFO);
si.wShowWindow=SW_SHOW;
si.dwFlags=STARTF_USESHOWWINDOW;
BOOL fRet=CreateProcess("c:\\windows\\notepad.exe c:\\autoexec.bat",NULL,NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS|CREATE_NEW_CONSOLE,NULL,NULL,&si,&pi);
// Since the dialog has been closed, return FALSE so that we exit the
// application, rather than start the application's message pump.
DWORD j=GetLastError();
return FALSE;
}
上面是我的代码,fret返回总是0,j返回2:参数错误!
{
STARTUPINFO stStartUpInfo; memset(&stStartUpInfo, 0, sizeof(STARTUPINFO)); stStartUpInfo.cb = sizeof(STARTUPINFO); stStartUpInfo.dwFlags = STARTF_USESHOWWINDOW;
stStartUpInfo.wShowWindow = SW_SHOWDEFAULT; return CreateProcess(NULL, (LPTSTR)pCmdLine, NULL, NULL, FALSE,
NORMAL_PRIORITY_CLASS, NULL,
NULL, &stStartUpInfo, pProcessInfo);
}其中pCmdLine为可执行程序文件名, pProcessInfo为得到的创建的进程的信息。