编程环境:asp.net
后台语言:C#
功能:在web网页上放一个按钮,客户端点击该按钮,则自动运行客户端安装的某个程序(如winword.exe)。首先判断,如果客户端安装了该程序,则直接自动运行;如果没有安装,则提示下载安装。
目前的思路:
1、读取客户端注册表,查看是否安装了winword.exe。如果查到,则读取安装路径;如果查不到,则提示没有安装;
2、运用process.start("文件路径名")
目前实际情况:
对于第一步,如何查找winword.exe? 代码如何实现?而且是查找客户端的注册表!!
对于第二步,测试运行代码,没有任何反应!why??????
难点:b/s程序代码大都是在服务端运行的,如何对客户端进行操作?是不是要用script脚步语言?如何实现?谢谢各位高手!!!
后台语言:C#
功能:在web网页上放一个按钮,客户端点击该按钮,则自动运行客户端安装的某个程序(如winword.exe)。首先判断,如果客户端安装了该程序,则直接自动运行;如果没有安装,则提示下载安装。
目前的思路:
1、读取客户端注册表,查看是否安装了winword.exe。如果查到,则读取安装路径;如果查不到,则提示没有安装;
2、运用process.start("文件路径名")
目前实际情况:
对于第一步,如何查找winword.exe? 代码如何实现?而且是查找客户端的注册表!!
对于第二步,测试运行代码,没有任何反应!why??????
难点:b/s程序代码大都是在服务端运行的,如何对客户端进行操作?是不是要用script脚步语言?如何实现?谢谢各位高手!!!
2、你的process.start是在服务器端执行的,跟客户端没关系
关键是你执行不了这个exe
这个,你是启动了服务器端的程序。这个问题,自己研究下activex控件吧,大多客户端的危险操作,如启动程序,访问注册表啊,都需要用客户端的ActiveX控件,虽然js也能操作,但是不会有权限执行的。
1:使用VC编写一个MFC的ActiveX控件放到你的网页上,通过控件ActiveX的版本可以让用户自动的下载这个ActiveX并自动注册。
2:在ActiveX里使用WinExec等方式来运行Word,或通过VC来操作注册表。
当然这里有一个问题就是需要在客户机上去掉禁止ActiveX下载及运行的选项才能正常工作。
1:使用VC编写一个MFC的ActiveX控件放到你的网页上,通过控件ActiveX的版本可以让用户自动的下载这个ActiveX并自动注册。
2:在ActiveX里使用WinExec等方式来运行Word,或通过VC来操作注册表。
当然这里有一个问题就是需要在客户机上去掉禁止ActiveX下载及运行的选项才能正常工作。
------------------------------------
太强硬了。
查询注册表可用JS
var WshShell = new ActiveXObject("WScript.Shell");
keyValue = WshShell.RegRead("");
alert(keyValue);
WshShell .run(""); 可运行本地程序
就是下面代码的问题:var WshShell = new ActiveXObject("WScript.Shell");
不知道怎么回事??
<script language="javascript">
function word(){
var wsh = new ActiveXObject("Wscript.Shell");
wsh.run("c:\\winword.exe");
</script>调试运行,出现“automation服务器不能创建对象”!
{
try
{
Process myprocess = new Process();
myprocess.StartInfo.FileName = @"c:\\ZLtj\\zltj.exe";
myprocess.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
myprocess.Start();
}
catch (Exception err)
{
thePubJs.Alert("aaaa!");
Response.Write(err.ToString());
}
}
这个是指定路径运行的代码,LZ看看有帮助没