【发布时间】:2011-03-30 01:21:27
【问题描述】:
大家好。
我遇到了一个奇怪的问题。我的应用程序有一个简单的方法,如果 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>
以前有人遇到过同样的问题吗?我该如何纠正这个奇怪的问题。
谢谢
【问题讨论】:
标签: c# .net internet-explorer process privileges