在pageload事件中写上:
Process p  = Process.Start("xxx.exe"); 
在vs2005环境下这样就可以打开一个程序。但是编译部署后就不行了,只能在任务管理器中的进程中看到,而没有窗体。
var shell=new ActiveXObject("WScript.Shell");
shell.run("xxx.exe")。。
用上面js代码也不行
try catch一下看到返回的错误代码是:没有权限这如何解决呢?多谢!

解决方案 »

  1.   

    Process.Start("xxx.exe"); 是在服务器端执行的,客户端无法看到任何服务器上的程序界面的。你可以使用
    自定义URL Protocol Handler 
    http://www.google.cn/search?hl=zh-CN&newwindow=1&q=%E8%87%AA%E5%AE%9A%E4%B9%89+URL+protocol+&aq=f&oq=
    http://blogs.msdn.com/noahc/archive/2006/10/19/register-a-custom-url-protocol-handler.aspx
      

  2.   

    多谢!客户要求就是在服务器端调本地exe,就是说自己在服务器上运行web,调用本地一个exe,可是编译了就不行了。
      

  3.   

    服务端会禁止的,本地也不可以,要不然木马和病毒不就泛滥了吗?
    ————————————————————————————————————
    我用这个代码就能在一台2003server就能调用: var shell=new ActiveXObject("WScript.Shell");
    shell.run("xxx.exe")。。 
    但换台服务器就不行了:(
      

  4.   

    一般都有安全限制
    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;
      }
    其他方式可用
    DllImport("shell32.dll")] 
            private static extern IntPtr ShellExecute(IntPtr hwnd, string lpOperation, string lpFile, string lpParameters, string lpDirectory, Int32 nShowCmd); 
    和Process
      

  5.   

    这不是病毒、木马的一贯做法吗?楼主在干这事,杀毒软件也不让运行呀!
    ————————————————————————————————
    这是客户需要的,人家要集成。如果杀毒软件碍事客户就不运行。web程序编好了,就缺能启动一个本地自控程序了。多谢帮忙
      

  6.   

    参考:
    http://topic.csdn.net/u/20090819/16/be8a9371-b0da-4ad0-af50-dcb81c1c2e7e.html
      

  7.   

    参考:
    http://msdn.microsoft.com/en-us/library/aa767914(VS.85).aspx刚才试了一下,成功了。
    可是作为WEB应用 ,问题还很多,没办法修改客户的注册表呀!
      

  8.   

    <html>   
      <head>   
      <script   language="vbscript">   
      Function   openLocalApplication(shell)   
      set   obj=createobject("Wscript.Shell")   
      obj.run(shell) 
      window.close() 
      End   Function   
      </script>   
      </head>   
      <body onload="vbscript:openLocalApplication('扣值.exe')">   
      </body>   
      </html>  
    我是这样用的