Process.kill () negado no Windows 7 32bits, mesmo com privilégios de administrador
Olá a todos.
Estou diante de um problema estranho. Meu aplicativo possui um método simples que, no caso do IE entrar em um estado em que ele não responde, esse método é acionado fechando todos os processos do IE e, em seguida, o aplicativo reinicia seu trabalho com o IE.
Código do método:
foreach (System.Diagnostics.Process exe in System.Diagnostics.Process.GetProcesses())
{
if (exe.ProcessName.StartsWith("iexplore"))
exe.Kill();
}
Mesmo depurando meu aplicativo com privilégios de administrador, o aplicativo algumas vezes executa esse método com êxito e outras vezes eu recebo o erroAccess Denied
mesmo executando como administrador.
Eu até codifiquei meu próprio arquivo de manifesto, especificando a necessidade desse aplicativo ser executado com direitos de administrador, o que eu acho que entendi direito.
Código de manifesto:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="Demo.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
</application>
</compatibility>
</asmv1:assembly>
Alguém já teve esse mesmo problema antes? Como posso corrigir esse problema estranho.
obrigado