英创信息技术WinCE下自动启动多个应用程序介绍

描述

  英创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;

  }


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分