代码之家  ›  专栏  ›  技术社区  ›  Chris

强制使用C++关闭Windows CE

  •  3
  • Chris  · 技术社区  · 14 年前

    例如,我如何强制应用程序 myapp.exe 在不同的应用程序上使用C++在Windows CE上关闭?

    场景是,我以前安装的某些软件在升级到新版本时运行不正常。因此,在继续更新之前,我需要终止一个进程(从更新程序)。

    3 回复  |  直到 14 年前
        1
  •  2
  •   Konrad    14 年前

    终止进程?( MSDN )

    BOOL TerminateProcess( HANDLE hProcess, 
                           DWORD uExitCode );
    

    你需要 HANDLE 使用toolhelp32 API可以轻松获得的进程。可以找到它们用于枚举系统上所有进程的示例 here .

        2
  •  0
  •   user001    14 年前

    我认为exitprocess比terminateprocess更为系统化。exit process提供干净的进程关闭,其中,as terminateprocess无条件地退出进程。 exitprocess的语法:

    VOID ExitProcess(
      UINT uExitCode
    );
    

    欲了解更多信息,请访问 this 链接。

    它完全取决于您的应用程序希望如何退出。

        3
  •  0
  •   ctacke    14 年前

    首先要做的是发送一个 WM_QUIT 看看它是否能优雅地关闭。wm_退出应导致应用程序的消息泵循环退出,然后终止。这应该允许应用程序清理它的资源。

    如果失败(并且只有在失败之后),那么您可以使用 toolhelp APIs 要查找进程(使用noheaps创建快照,然后使用first/next调用迭代查找它),并使用t终止它。 erminateProcess .