主要介绍CreateProcess函数的使用
(1)创建一个基于对话框的工程
(2)使用classwizard打开类向导,为控件选择命令
(3)处理”…”的按钮单击事件,弹出文件打开对话框,让用户选择一个可执行文件。代码如下
void CSubPreocessDlg::OnChosefile()
{
// TODO: Add your control notification handler code here
CFileDialog fDlg(TRUE,"","",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"app|*.exe");
if (fDlg.DoModal()==IDOK)
{
m_FileName.SetWindowText(fDlg.GetPathName());
}
}
(4)处理“运行”按钮的单击事件,运行子程序
void CSubPreocessDlg::OnRunprocess()
{
// TODO: Add your control notification handler code here
CString fName;
m_FileName.GetWindowText(fName);
if (!fName.IsEmpty())
{
PROCESS_INFORMATION pi;
STARTUPINFO si={sizeof(si)};
BOOL ret=CreateProcess(fName,NULL,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
if (ret)
{
MessageBox("run successfully!","notice",MB_OK|MB_ICONASTERISK);
}
}
}
5)运行程序
本文介绍了一个基于对话框的工程中如何使用CreateProcess函数来创建并运行子进程的方法。具体步骤包括:通过ClassWizard设置控件命令;实现文件选择对话框以获取用户指定的可执行文件路径;最终调用CreateProcess函数运行选定的外部程序。



3667

被折叠的 条评论
为什么被折叠?



