这样是在服务端启动notepad.exe进程在客户端执行要用javascript<script>
function button_click()
{
  var obj = new ActiveXObject("WScript.shell");
  obj.Run("notepad.exe");
}

解决方案 »

  1.   

    这样是在服务端启动notepad.exe进程在客户端执行要用javascript<script>
    function button_click()
    {
      var obj = new ActiveXObject("WScript.shell");
      obj.Run("notepad.exe");
    }
      

  2.   

    你的意图是想在客户端还使用C#的程序。
    也就是说在WinForm中编写的类,直接可以用到网页中。
    如果是这样你可以按如下步骤操作:
    1、建立一个Window Form的自定义控件,其文件名为:CallNote.dll,名称空间为:MyNameSpace,类名为:MyClassName,在控件中拖入一个Button,Click事件的程序如你所写即可。
    2、建立一个名为Test.htm的页面,将CallNote.dll拷贝到Test.htm的相同目录下,在Test.htm的<body></body>部分写入如下一段话:
    <object id="simpleControl1"classid="http:CallNote.dll#MyNameSpace.MyClassName" 
    height="300" width="300" VIEWASTEXT>
    </object>
      

  3.   

    layerr(new WantToKnow(C#)) :
    谢谢,但我想你理解错了,我使用C#做asp.net。
      

  4.   

    应该说我没有理解错,我知道你是在用C#做ASP.net。但是你的C#程序只能控制服务器端的东东,如果你需要用户在网上点击一下就打开客户端的写字板,光用ASP.net中的后台CS文件是根本不可能实现的。
    唯一的办法就是如我所述,你再仔细读一遍吧,为了你好理解,你可以把第2步中的Test.htm改成test.aspx,其它的不变就是了。
    关键的一点就要理解:ASP.net在客户端就不能控制你用户的任何动作了!与html文件没有区别。所谓的ASP.net中的Button的Click()事件中的所有程序都是针对服务器操作的!!!!不是针对客户端操作的!!!!
    如果你所写的程序,是要打开服务器上的notepad.exe,这有可能么??打开服务器上的notepad.exe,对客户端是没有任何反应的。只会造成这样的结果:有多少用户点击过这个页面上的这个按钮,服务器端就会打开多少过记事本,然后你就费点时间到服务器上一个一个的把记事本都关掉。
      

  5.   

    快乐王子,能否提供具体实现的脚本?
    你上面写的那一段,总是说网页有错误。关闭浏览器后,提示***内存不能read,确定后关闭。
      

  6.   

    你的操作系统是什么? 是否把运行脚本的WScript.exe什么的程序给去掉了?win2003的话, IE因为安全性的原因也不让运行-----------------------
    var obj = new ActiveXObject("WScript.Shell");
    obj.Run("notepad.exe");
    -----------------------你把脚本存成.js文件, 双击运行运行试试? 如果不能运行, 那就是操作系统把此功能屏蔽了
      

  7.   

    谢谢快乐王子!!!
    我找到了一段代码,和你给的类似,可以运行,代码如下:
    <script>
    function exec (command) {
        window.oldOnError = window.onerror;
        window._command = command;
        window.onerror = function (err) {
          if (err.indexOf('utomation') != -1) {
            alert('命令' + window._command + ' 已经被用户禁止!'); 
            return true;
          }
          else return false;
        };
        var wsh = new ActiveXObject('WScript.Shell');
        if (wsh)
          wsh.Run(command);
        window.onerror = window.oldOnError;
      }
    </script><input type="button" name="Submit" value="执行" onClick="exec('notepad')">我现在遇到的问题是,我想调用其他的应用程序而不是notepad,路径我应该怎么写?我做了一个测试,我把程序abc(该程序原来安装在C:\Program Files\下)拷贝到c:\winnt\下或c:\winnt\system32下,将notepad 换成abc即可运行!
    我想这个是不是和系统变量的Path 有点关系?于是,我把C:\Program Files加入Path变量,程序仍然在C:\Program Files下,运行,脚本错误!请指点迷津,谢谢
      

  8.   

    在客户端用这种方法是不可能成功运行一个程序的。
    如果可以的话,浏览器还有什么安全性可言?把你那个调用的程序改成:format c:/u的话结果会如何呢?谁还敢访问WEB???