我需要的是在Windows 8中程序化地殺死已啓動的Metro應用程序。如何從其他程序中編程關閉城域應用程序?
難道僅僅是一個簡單的過程,我會寫
Process.GetProcessById(processId).Kill()
或
var applicationProcess = Process.GetProcessById(processId);
applicationProcess.CloseMainWindow();
applicationProcess.Close();
但這些並不在我的情況下工作。
我也試過這個WINAPI函數終止進程
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool TerminateProcess(IntPtr hProcess, uint uExitCode);
它實際上終止的過程中,我可以看到,該過程不會在任務管理器已經不復存在,但我仍然可以看到應用半生不死(IE上的圖片):
所以,我跑出來的想法。任何幫助?
已更新:
也許我的過程列表將有任何幫助。這之前,我殺了什麼:
audiodg:3200 CMD:4588 conhost:5820 CSRSS:2144 CSRSS:416 CSRSS:480 DeploymentManagerService:1756 DWM:796 DWM:2852 資源管理器:1592 空閒:0 IEXPLORE:5696 IEXPLORE:5644 LogonUI:2140 LSASS:572 RDPCLIP:3540 接收機:1668 RUNDLL32:1432 SACMonitor:3344 SACSrv:1888年 SearchIndexer:2312 發件人:968個 服務:564 短信:312 spoolsv:1340 SQLWRITER:1000 的Svchost:1416 的Svchost:780 的Svchost:328 的Svchost:856 的Svchost: 676 SVCHOST:2576 SVCHOST:2712 SVCHOST:1376 SVCHOST:832 SVCHOST:1004 SVCHOST:632 SVCHOST:1608 系統:4 taskhost:6036 taskhost:3040 taskhostex:1440 VSSVC:2732 wininit:464 Winlogon中:524 Winlogon中:2416 WMIPRVSE:168 WUDFHost:1096
IE(桌面/城域網)採用多道工序,確保你殺了所有的人 – magicandre1981
謝謝你的答案,請看看我的回覆邁克爾。 – user1793358