英創(chuàng)ARM9系列板卡應(yīng)用程序的自己加載方法是在運(yùn)行模式下采用由系統(tǒng)讀取由用戶編寫的文本文件userinfo.txt,進(jìn)而啟動(dòng)用戶應(yīng)用程序,這種方法在相關(guān)的“使用必讀”文檔中均有介紹。在userinfo.txt文件中只能填入一個(gè)應(yīng)用程序的參數(shù),也就是說只能啟動(dòng)一個(gè)應(yīng)用程序。對(duì)于需要同時(shí)啟動(dòng)兩個(gè)或多個(gè)應(yīng)用程序的情況,該如何來實(shí)現(xiàn)呢?在本文中將介紹一種自動(dòng)啟動(dòng)多個(gè)應(yīng)用程序的方法。
采取的方法就是通過創(chuàng)建一個(gè)專用程序?qū)崿F(xiàn)同時(shí)啟動(dòng)多個(gè)應(yīng)用進(jìn)程,而在userinfo.txt文件中編輯執(zhí)行該專用程序,從而達(dá)到自動(dòng)啟動(dòng)多個(gè)應(yīng)用程序的目的。下面舉例說明:
StarMain.exe為啟動(dòng)兩個(gè)進(jìn)程的專用程序,代碼如下:
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow )
{
BOOL b;
PROCESS_INFORMATION procInfo;
// 創(chuàng)建APP1.exe 進(jìn)程
b = CreateProcess
(
_T(‘\\NandFlash\\App1.exe’), // LPCWSTR lpszImageName
lpCmdLine, // LPCWSTR lpszCmdLine
NULL, // LPSECURITY_ATTRIBUTES lpsaProcess
NULL, // LPSECURITY_ATTRIBUTES lpsaThread
FALSE, // BOOL fInheritHandles
0, // DWORD fdwCreate
NULL, // LPVOID lpvEnvironment
NULL, // LPWSTR lpszCurDir
NULL, // LPSTARTUPINFOW lpsiStartInfo
&procInfo // LPPROCESS_INFORMATION lppiProcInfo
);
CloseHandle(procInfo.hProcess);
CloseHandle(procInfo.hThread);
// 創(chuàng)建APP2.exe 進(jìn)程
b = CreateProcess
(
_T(‘\\NandFlash\\App2.exe’), // LPCWSTR lpszImageName
NULL, // LPCWSTR lpszCmdLine
NULL, // LPSECURITY_ATTRIBUTES lpsaProcess
NULL, // LPSECURITY_ATTRIBUTES lpsaThread
FALSE, // BOOL fInheritHandles
0, // DWORD fdwCreate
NULL, // LPVOID lpvEnvironment
NULL, // LPWSTR lpszCurDir
NULL, // LPSTARTUPINFOW lpsiStartInfo
&procInfo // LPPROCESS_INFORMATION lppiProcInfo
);
CloseHandle(procInfo.hProcess);
CloseHandle(procInfo.hThread);
return 0;
}
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6085瀏覽量
35295
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論