【问题标题】:To Access Notepad, calculator through asp.net通过 asp.net 访问记事本、计算器
【发布时间】:2011-04-19 06:05:15
【问题描述】:

我正在尝试使用 C# 后面的代码打开记事本,单击 asp.net 中的按钮中的计算器。我尝试了代码

 System.Diagnostics.Process.Start("c:\\windows\\system32\\notepad.exe");

这在本地系统中工作正常,但在服务器中不工作。我什至尝试过使用 javascript

function executeCommands(inputparms)
{
alert('ff');
var oShell = new ActiveXObject("Shell.Application");
var commandtoRun = "C:\\Winnt\\Notepad.exe";
if (inputparms != "")
{
    var commandParms = document.form1.filename.value;
}

oShell.ShellExecute(commandtoRun, commandParms, "", "open", "1");
}

即使这样也行不通。您能否建议我如何在不干扰服务器记事本的情况下在客户端打开记事本应用程序。

【问题讨论】:

    标签: javascript asp.net notepad


    【解决方案1】:

    这是不可能的。想象一下,如果网页可以在客户端机器上运行任意程序,我们会陷入安全混乱。哦等等... ;-)

    【讨论】:

    • 您能否提供更多有关此问题的详细信息。
    • 我不知道任意程序,所以如何处理它。
    • @Fairy_G:任意只是意味着“你能想到的任何东西”。如果一个网页能够运行网页设计者想要在客户端机器上运行的任何程序,那么这对安全性来说真的很糟糕。
    【解决方案2】:

    这是不可能的(一般来说,尽管您可以使用各种小程序和浏览器插件)。事实上,如果任何网页都可以在我的计算机上执行任意程序,我会感到非常羞愧。

    【讨论】:

      【解决方案3】:

      你不能这样做。 ASP.NET 在服务器上运行,您不能在客户端计算机上运行程序。您显示的 ActiveX 对象应该可以工作,但只能在 IE 中使用,并且只有在用户明确授权执行它之后。此外,notepad.exe 的位置可能因客户端而异(可能是 c:\windows、c:\winnt 等,而某些在 Linux 或 MacOS 上运行的客户端没有这样的可执行文件)

      【讨论】:

      • 我们可以打开服务器的记事本或者通过flash可以吗?我真的需要一些解决方案来在图像点击事件上打开记事本。它的服务器的记事本或某种形式都可以。请。
      • @Fairy_G,是的,您可以使用Process.Start 打开服务器记事本,但是因为 ASP.NET 在一个甚至没有关联 GUI 的帐户下运行,所以不要期望在任何地方看到它。它可能出现在服务器上正在运行的进程列表中,但仅此而已。就 Flash 而言,您无法在客户端上运行可执行文件。
      • 非常感谢。但是有没有其他方法可以完成这项任务。
      • @Fairy_G,ActiveX 可能是一种方式,但正如我在回答中所说,它仅适用于 IE,并且用户必须授权它。您了解从网站在客户端计算机上运行可执行文件会带来巨大的安全问题,并且是不允许的。
      【解决方案4】:

      在 ASP.Net 的情况下,由于应用程序的性质,您试图实现的目标是不可能的。该应用程序将在服务器上执行,并且只会将客户端 HTML 发送到客户端。即使您的代码在语法上是正确的,它也会在服务器本身上打开实用程序。

      【讨论】:

        【解决方案5】:

        这可以通过点击服务器按钮或链接使用下面的代码来实现。 System.Diagnostics.Process.Start("notepad.exe");

        【讨论】:

        • 这将在服务器上运行记事本,而不是在客户端机器上,我怀疑这是提问者真正想要的。正如所有其他答案所述,从浏览器运行这样的程序是不可能的(除非您在浏览器中发现了严重的安全漏洞)。
        【解决方案6】:
        System.Diagnostics.Process.Start("C:\Windows\System32\calc.exe")
        

        工作正常,但您可能需要调整浏览器的设置。确保 calc.exe 在目录中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-07-15
          • 2013-02-05
          • 1970-01-01
          • 1970-01-01
          • 2015-05-08
          • 1970-01-01
          相关资源
          最近更新 更多