VC程序設(shè)計(jì)中CreateProcess用法注意事項(xiàng)
對于windows程序設(shè)計(jì)來說,啟動一個(gè)進(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( "啟動失敗!" ) );
}
說明:
第一個(gè)參數(shù)是應(yīng)用程序的全路徑,第二個(gè)參數(shù)是命令行參數(shù)。如果第一個(gè)參數(shù)為空,就必須在第二個(gè)參數(shù)中指定應(yīng)用程序的路徑。
如果啟動的進(jìn)程與當(dāng)前進(jìn)程不再同一個(gè)目錄下,則第八個(gè)參數(shù)必須指定,第八個(gè)參數(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)文章
C語言詳細(xì)圖解浮點(diǎn)型數(shù)據(jù)的存儲實(shí)現(xiàn)
使用編程語言進(jìn)行編程時(shí),需要用到各種變量來存儲各種信息。變量保留的是它所存儲的值的內(nèi)存位置。這意味著,當(dāng)您創(chuàng)建一個(gè)變量時(shí),就會在內(nèi)存中保留一些空間。您可能需要存儲各種數(shù)據(jù)類型的信息,操作系統(tǒng)會根據(jù)變量的數(shù)據(jù)類型,來分配內(nèi)存和決定在保留內(nèi)存中存儲什么2022-05-05
C++實(shí)現(xiàn)簡易選課系統(tǒng)代碼分享
這篇文章主要介紹了C++實(shí)現(xiàn)簡易選課系統(tǒng)及實(shí)現(xiàn)代碼的分享,具有一定的參考價(jià)值,需要的小伙伴可以參考一下,希望對你有所幫助2022-01-01
Qt定時(shí)器類QTimer使用詳解與注意事項(xiàng)
Qt提供了兩種定時(shí)器,一種是QObject類的定時(shí)器,另一種是QTimer類的定時(shí)器,這篇文章主要給大家介紹了關(guān)于Qt定時(shí)器類QTimer使用與注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下2023-10-10
C++使用異或運(yùn)算實(shí)現(xiàn)交換兩個(gè)數(shù)的值
交換兩個(gè)數(shù)的值,通常用利用一個(gè)變量來交換數(shù)值,異或交換兩個(gè)數(shù)的值是資源開銷最小的方法,不需要中介數(shù),原理簡單的來說就是異或的負(fù)負(fù)得正2018-09-09
C語言數(shù)組實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)設(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了C語言數(shù)組實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01

