VC程序設(shè)計(jì)中CreateProcess用法注意事項(xiàng)
對于windows程序設(shè)計(jì)來說,啟動一個進(jìn)程有三種方法:WinExec,ShellExecute,CreateProcess。這里僅對CreateProcess的用法加以說明。
對于CreateProcess的詳細(xì)參數(shù)讀者可以查MSDN和《Windows API參考手冊》,這里不具體說明。下面給出常用的方法:
STARTUPINFO startup; ZeroMemory( &startup, sizeof(startup) ); startup.cb = sizeof(startup); ZeroMemory( &m_procInfo, sizeof(m_procInfo) ); // 初始化結(jié)果體是必須的,否則會異常 BOOL bRetVal = ::CreateProcess( (LPCWSTR)strProcPath, NULL, NULL, NULL, FALSE, 0, NULL, NULL, &startup, &m_procInfo ); if ( !bRetVal ) { AfxMessageBox( _T( "啟動失敗!" ) ); }
說明:
第一個參數(shù)是應(yīng)用程序的全路徑,第二個參數(shù)是命令行參數(shù)。如果第一個參數(shù)為空,就必須在第二個參數(shù)中指定應(yīng)用程序的路徑。
如果啟動的進(jìn)程與當(dāng)前進(jìn)程不再同一個目錄下,則第八個參數(shù)必須指定,第八個參數(shù)為啟動的進(jìn)程所在的路徑。否則不能成功啟動進(jìn)程。如下所示:
BOOL bRetVal = ::CreateProcess( (LPCWSTR)strProcPath, NULL, NULL, NULL, FALSE, 0, NULL, (LPCWSTR)strProcFolder, &startup, &m_procInfo ); if ( !bRetVal ) { AfxMessageBox( _T( "啟動失敗!" ) ); }
相關(guān)文章
Java C++ 算法題解leetcode1582二進(jìn)制矩陣特殊位置
這篇文章主要為大家介紹了Java C++ 算法題解leetcode1582二進(jìn)制矩陣特殊位置示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09Qt5實(shí)現(xiàn)文本編輯器(附詳細(xì)代碼)
QT是一個跨平臺的GUI開發(fā)框架,我使用的QT5 C++版本的,本文主要介紹了Qt5實(shí)現(xiàn)文本編輯器,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-07-07