网站首页 网站建设 IT知识 IT知识教程 VC程序设计中CreateProcess用法注意事项

VC程序设计中CreateProcess用法注意事项

2021-05-20 21:14:39

对于windows程序设计来说,启动一个进程有三种方法:WinExec,ShellExecute,CreateProcess。这里仅对CreateProcess的用法加以说明。

对于CreateProcess的详细参数读者可以查MSDN和《Windows API参考手册》,这里不具体说明。下面给出常用的方法:

STARTUPINFO startup;ZeroMemory( &startup, sizeof(startup) );startup.cb = sizeof(startup);ZeroMemory( &m_procInfo, sizeof(m_procInfo) );// 初始化结果体是必须的,否则会异常BOOL bRetVal = ::CreateProcess( (LPCWSTR)strProcPath, NULL, NULL, NULL, FALSE, 0, NULL, NULL, &startup, &m_procInfo );if ( !bRetVal ){ AfxMessageBox( _T( "启动失败!" ) );}

说明:

第一个参数是应用程序的全路径,第二个参数是命令行参数。如果第一个参数为空,就必须在第二个参数中指定应用程序的路径。

如果启动的进程与当前进程不再同一个目录下,则第八个参数必须指定,第八个参数为启动的进程所在的路径。否则不能成功启动进程。如下所示:

BOOL bRetVal = ::CreateProcess( (LPCWSTR)strProcPath, NULL, NULL, NULL, FALSE, 0, NULL, (LPCWSTR)strProcFolder, &startup, &m_procInfo );if ( !bRetVal ){ AfxMessageBox( _T( "启动失败!" ) );}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。 如涉及版权问题,请提交至online#300.cn邮箱联系删除。

以上产品还未完全满足我的所有需求,在下方提交我的专属需求
我的专属需求:
*手机号:
*验证码:
img
咨询报价
现在咨询
img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP