Для доступа к блокноту, калькулятору через asp.net - PullRequest
1 голос
/ 19 апреля 2011

Я пытаюсь открыть Блокнот, Калькулятор нажатием кнопки в asp.net с кодом позади C #.Я попытался с кодом

 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");
}

, даже это не работает.Можете ли вы предложить мне, как открыть приложение блокнота на стороне клиента без мешающего сервера блокнота.

Ответы [ 6 ]

5 голосов
/ 19 апреля 2011

Этого нельзя сделать. Представьте себе беспорядок в безопасности, если бы веб-страница могла запускать произвольные программы на клиентском компьютере. Ой, подождите ...; -)

2 голосов
/ 19 апреля 2011

Это невозможно (в общем, хотя вы могли бы обойтись с различными апплетами и плагинами браузера).На самом деле, я был бы весьма огорчен, если какая-либо веб-страница могла бы выполнить произвольную программу на моем компьютере.

1 голос
/ 19 апреля 2011

То, что вы пытаетесь достичь, невозможно из-за характера применения в случае ASP.Net. Приложение будет выполнено на сервере и отправит клиенту только HTML-код на стороне клиента. Даже если ваш код является синтетически правильным, он откроет утилиты на самом сервере.

1 голос
/ 19 апреля 2011

Вы не можете сделать это. ASP.NET работает на сервере, и вы не можете запускать программы на клиентском компьютере. Показанный вами объект ActiveX должен работать, но только в IE и только после того, как пользователь явно разрешит его выполнение. Кроме того, местоположение notepad.exe может отличаться в зависимости от клиента (это может быть c: \ windows, c: \ winnt, ... и некоторые клиенты, работающие, например, в Linux или MacOS, не имеют такого исполняемого файла)

0 голосов
/ 26 июня 2012
System.Diagnostics.Process.Start("C:\Windows\System32\calc.exe")

Работает нормально, хотя вам, возможно, придется настроить параметры в вашем браузере. Убедитесь, что calc.exe находится в каталоге.

0 голосов
/ 19 апреля 2012

Это может быть возможно при использовании приведенного ниже кода при нажатии кнопки сервера или ссылки.System.Diagnostics.Process.Start ( "notepad.exe");

...