我正在尝试使用activeX从HTML目录中的Windows目录启动一些.exe文件,这里是链接 http://msdn.microsoft.com/en-us/library/cc144191(VS.85).aspx
我知道这可能听起来很愚蠢,但我会通过C#网络浏览器工具打开这些HTML,因为它使用的是IE引擎。
它会从我提供的链接中打开一些.exe文件。例如:C:\ windows \ system32 \ control.exe,但我尝试更敏感的东西,如c:\ windows \ system32 \ RecoveryDrive.exe,它根本不起作用,我收到错误。
这是我使用的HTML代码。谢谢!
<body>
<p><h1>This is my web page</h1></p>
<button align="center" type=button onclick="ControlPanel();">Control Panel</button></p>
<button align="center" type=button onclick="RecoveryDrive();">MAGIC</button></p>
</body>
<script type="text/javascript" LANGUAGE="JavaScript">
function ControlPanel()
{
var ws = new ActiveXObject("WScript.Shell");
ws.Exec("c:\\windows\\system32\\control.exe");
}
</script>
<script type="text/javascript" LANGUAGE="JavaScript">
function RecoveryDrive()
{
var ws = new ActiveXObject("WScript.Shell");
ws.Exec("c:\\windows\\system32\\RecoveryDrive.exe");
}
</script>
答案 0 :(得分:0)
为了执行需要提升权限的应用程序,您的应用程序必须执行以下两项操作之一:
1:以提升的权限运行。当您调用某个进程时,它会看到您已经在使用提升的权限并在同一级别运行。
-OR -
2:创建一个需要提升权限的启动器可执行文件。从启动程序中,启动需要此权限级别的应用程序。 See this SO answer for more information about process privilege elevation.
<强>无论其强>
从Web浏览器执行此操作会使所有Web浏览器sandboxed变得复杂,以防止恶意代码执行。您必须将此网站放在IE的受信任区域中,甚至可以启动非特权可执行文件。