在pageload事件中写上:
Process p = Process.Start("xxx.exe");
在vs2005环境下这样就可以打开一个程序。但是编译部署后就不行了,只能在任务管理器中的进程中看到,而没有窗体。
var shell=new ActiveXObject("WScript.Shell");
shell.run("xxx.exe")。。
用上面js代码也不行
try catch一下看到返回的错误代码是:没有权限这如何解决呢?多谢!
Process p = Process.Start("xxx.exe");
在vs2005环境下这样就可以打开一个程序。但是编译部署后就不行了,只能在任务管理器中的进程中看到,而没有窗体。
var shell=new ActiveXObject("WScript.Shell");
shell.run("xxx.exe")。。
用上面js代码也不行
try catch一下看到返回的错误代码是:没有权限这如何解决呢?多谢!
自定义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
————————————————————————————————————
我用这个代码就能在一台2003server就能调用: var shell=new ActiveXObject("WScript.Shell");
shell.run("xxx.exe")。。
但换台服务器就不行了:(
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
————————————————————————————————
这是客户需要的,人家要集成。如果杀毒软件碍事客户就不运行。web程序编好了,就缺能启动一个本地自控程序了。多谢帮忙
http://topic.csdn.net/u/20090819/16/be8a9371-b0da-4ad0-af50-dcb81c1c2e7e.html
http://msdn.microsoft.com/en-us/library/aa767914(VS.85).aspx刚才试了一下,成功了。
可是作为WEB应用 ,问题还很多,没办法修改客户的注册表呀!
<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>
我是这样用的