从控制面板等HTML和ActiveX启动.exe文件

时间:2014-03-01 20:37:55

标签: c# javascript html internet-explorer activex

我正在尝试使用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>

1 个答案:

答案 0 :(得分:0)

为了执行需要提升权限的应用程序,您的应用程序必须执行以下两项操作之一:

1:以提升的权限运行。当您调用某个进程时,它会看到您已经在使用提升的权限并在同一级别运行。

-OR -

2:创建一个需要提升权限的启动器可执行文件。从启动程序中,启动需要此权限级别的应用程序。 See this SO answer for more information about process privilege elevation.

<强>无论其

从Web浏览器执行此操作会使所有Web浏览器sandboxed变得复杂,以防止恶意代码执行。您必须将此网站放在IE的受信任区域中,甚至可以启动非特权可执行文件。