英創ARM9系列板卡應用程序的自己加載方法是在運行模式下采用由系統讀取由用戶編寫的文本文件userinfo.txt,進而啟動用戶應用程序,這種方法在相關的“使用必讀”文檔中均有介紹。在userinfo.txt文件中只能填入一個應用程序的參數,也就是說只能啟動一個應用程序。對于需要同時啟動兩個或多個應用程序的情況,該如何來實現呢?在本文中將介紹一種自動啟動多個應用程序的方法。
采取的方法就是通過創建一個專用程序實現同時啟動多個應用進程,而在userinfo.txt文件中編輯執行該專用程序,從而達到自動啟動多個應用程序的目的。下面舉例說明:
StarMain.exe為啟動兩個進程的專用程序,代碼如下:
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow )
{
BOOL b;
PROCESS_INFORMATION procInfo;
// 創建APP1.exe 進程
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);
// 創建APP2.exe 進程
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;
}
-
嵌入式主板
+關注
關注
7文章
6085瀏覽量
35336
發布評論請先 登錄
相關推薦
評論