Board logo

标题: WinCE下自动启动多个应用程序 [打印本页]

作者: emtronix20105    时间: 2010-8-27 21:43     标题: 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;
      }
[查看全文]
[关于英创]
[更多文章]
[技术论坛]
本文PDF格式下载




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0