Ce dont j'ai besoin est de tuer l'application Metro lancée dans Windows 8 par programmation.Comment fermer une application de métro par programmation d'un autre processus?
Serait-il juste un processus simple, j'écrirais
Process.GetProcessById(processId).Kill()
ou
var applicationProcess = Process.GetProcessById(processId);
applicationProcess.CloseMainWindow();
applicationProcess.Close();
mais ceux-ci ne fonctionnent pas dans mon cas.
J'ai essayé également cette fonction winapi pour mettre fin à des processus
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool TerminateProcess(IntPtr hProcess, uint uExitCode);
Il termine en fait le processus, et je peux voir que le processus n'existe pas dans le Gestionnaire des tâches plus longtemps, mais je peux voir la demi-vie application (IE sur l'image):
donc, je suis à court d'idées. De l'aide?
mise à jour:
liste Probablement Mes processus serait de toute aide.Ici, il est avant avoir tué quoi que ce soit:
AudioDG: 3200 cmd: 4588 conhost: 5820 csrss: 2144 csrss: 416 csrss: 480 DeploymentManagerService: 1756 DWM: 796 DWM: 2852 explorateur: 1592 veille: 0 iexplore: 5696 iexplore: 5644 LogonUI: 2140 lsass: 572 Rdpclip: 3540 récepteur: 1668 rundll32: 1432 SACMonitor: 3344 SACSrv: 1888 SearchIndexer: 2312 Auteur: 968 services: 564 smss: 312 spoolsv: 1 340 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 System: 4 TaskHost: 6036 TaskHost: 3040 taskhostex: 1440 VSSVC: 2732 wininit: 464 winlogon: 524 winlogon: 2416 WMIPRVSE: 168 WUDFHost: 1096
IE (bureau/métro) utilise plusieurs processus, assurez-vous tué tous – magicandre1981
Merci pour la réponse et s'il vous plaît jeter un oeil à ma réponse à Michael. – user1793358