网页调用的是本地WinForm程序还是远程的WinForm程序?
如果不用activex,那应该算是远程的。
@黑精灵: 那是不是可以在网页中直接通过ajax调用远程程序
@黑精灵: 首页正好有篇文章:如何从 Winform 移植到 Webform [自己搞定HTTP协议]
@dudu: 谢谢了哈,这篇文章我看了下,不是很看得懂
System.Diagnostics.Process process = System.Diagnostics.Process.Start(Server.MapPath(uploadPath));
System.Threading.Thread.Sleep(1500);
if (process != null)
{
process.CloseMainWindow();
process.Close();
}
打开和关闭 参数是你要调用的可执行文件路径 包括bat exe docx等等
不知道适合你那情况不 呵呵
如果要传参到winform或者由winform返回值 可以放在数据库里或者xml等 程序读取写入数据库和xml
呵呵,你提供的这个好像不是我的需求。我的需求是能像activitx一样安装后显示winfform的界面,但是我又不想通过activex来实现。activex感觉用户体验方式不太好,还有受到权限的限制
定义http头,在网页中href指定类似定义好的命令头“openwin://”,就可以和客户端交互,前提是要在客户端注册http头定义。
不过,你既然要交互,肯定是在客户端有winform的,安装的时候注册一下,不是问题。
但是安装winform的时候是不是也是通过activex的形式来安装呢?
@黑精灵: 不是。客户端程序和activex本身是没有联系的。
像安装vs是用安装包来安装的。如果你做了客户端,且想在客户哪里安装,就要再写个安装程序。
@吕飞: 按照邢少说的,那么打开的这个程序是不是承载在ie里面的??
@黑精灵:
注册表中会定义 “openwin://”url命令对应什么动作,
@邢少: 我不太清楚你的这中方式和“将应用程序注册为协议处理者”有什么分别。是不一样的吗?
@黑精灵:
"openwin:// "头是注册在windows系统注册表中的。注册的是“http头”对应的启动程序路径,
注册后 ,你在浏览器中键入“openwin://”会自动启动对应路径的exe,
"openwin:// "是自己注册的一种协议。
@邢少: 那应该就是一样的了。这种方式启动的exe并没有承载在网页上。我之前试了下demo,不符合要求啊。而且是在地址栏键入“openwin://”会自动启动对应路径的exe。你看看是不是这种方式http://www.cnblogs.com/phinecos/archive/2009/03/06/1404951.html腾讯的Tencent://Message协议注册表
@黑精灵: 嗯.是一个东西,
它最简单的应用就是启动一个exe,但是本身这个协议是可以传递参数的,结合这点,它是可以客户端的已经安装好的软件做复杂交互的。 比如:自动登录,传递用户名。密码,启动客户端一个exe,exe作验证,集合window消息,可以做很多事情。