gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章VC程序设计中CreateProcess用法注意事项由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

对于windows程序设计来说,启动一个进程有三种方法:WinExec,ShellExecute,CreateProcess。这里仅对CreateProcess的用法加以说明。 对于CreateProcess的详细参数读者可以查MSDN和《Windows API参考手册》,这里不具体说明。下面给出常用的方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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( "启动失败!" ) );
}

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
BOOL bRetVal = ::CreateProcess( ( LPCWSTR )strProcPath,
    NULL,
    NULL,
    NULL,
    FALSE,
    0,
    NULL,
    ( LPCWSTR )strProcFolder,
    &startup,
    &m_procInfo );
if ( !bRetVal )
{
  AfxMessageBox( _T( "启动失败!" ) );
}

最后此篇关于VC程序设计中CreateProcess用法注意事项的文章就讲到这里了,如果你想了解更多关于VC程序设计中CreateProcess用法注意事项的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com