如何強制應用程序(例如myapp.exe
)在不同的應用程序中使用Windows CE上的C++關閉?使用C++在Windows CE上強制關閉應用程序
這種情況是,我以前安裝的某些軟件在升級到新版本時表現不正常。因此,我需要在繼續更新之前殺掉進程(從更新程序)。
如何強制應用程序(例如myapp.exe
)在不同的應用程序中使用Windows CE上的C++關閉?使用C++在Windows CE上強制關閉應用程序
這種情況是,我以前安裝的某些軟件在升級到新版本時表現不正常。因此,我需要在繼續更新之前殺掉進程(從更新程序)。
我認爲ExitProcess比TerminateProcess更系統化。 ExitProcess提供乾淨的進程關閉,因爲TerminateProcess無條件退出進程。 語法ExitProcess的:
VOID ExitProcess(
UINT uExitCode
);
欲瞭解更多信息,請訪問this鏈接。
這完全取決於您的應用程序如何退出。
要做的第一件事是發送一個WM_QUIT看看它是否可能優雅地關閉。 WM_QUIT應該會導致應用程序的消息泵循環退出並隨後終止。這應該允許應用程序清理乾淨的資源。
如果失敗,(並失敗後,才),那麼你可以使用toolhelp APIs發現過程(使用NOHEAPS創建快照,然後循環與第一個/下一個電話找到它),並使用T- erminateProcess終止它。
同意,但問題是關於強制關閉應用程序。如果應用程序不行爲,ExitProcess可能不會剪切它。另外,我不認爲ExitProcess可以用於不同的進程。 – Konrad 2010-07-28 10:20:11
是的,它需要工作在不同的過程 – Chris 2010-07-28 10:21:01
這是我最後一個聲明的意思,它取決於應用程序 是的..對於不同的進程TerminateProcess會做。 – user001 2010-07-28 10:46:40