Привет всем.
Я столкнулся со странной проблемой. У моего приложения есть простой метод, который в случае, если IE входит в состояние, когда он перестает отвечать, этот метод запускается, закрывая все процессы IE, а затем приложение возобновляет работу с IE.
Код метода:
foreach (System.Diagnostics.Process exe in System.Diagnostics.Process.GetProcesses())
{
if (exe.ProcessName.StartsWith("iexplore"))
exe.Kill();
}
Даже при отладке моего приложения с правами администратора приложение иногда запускает этот метод успешно, а иногда я получаю сообщение об ошибке Access Denied
, даже работая от имени администратора.
Я даже закодировал свой собственный файл манифеста, определяющий необходимость выполнения этого приложения с правами администратора, что, я думаю, я правильно понял.
Код манифеста:
<?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>
У кого-нибудь была такая же проблема раньше? Как я могу исправить эту странную проблему.
Спасибо