实现Web页面向windows应用程序发送消息
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了实现Web页面向windows应用程序发送消息,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2018字,纯文字阅读大概需要3分钟。
内容图文
![实现Web页面向windows应用程序发送消息](/upload/InfoBanner/zyjiaocheng/958/be8d1baeb9994e548eedc4522f423f54.jpg)
例如,我们想在浏览器中输入 myTest://openMain让winform程序打开主窗口。我们该怎么做呢?
首先、修改winform程序为单实例模式。
如果是VB.net
- 在 “项目”菜单上单击 “属性”。
- 单击 “应用程序”选项卡。
- 选中 “生成单个实例应用程序”复选框。
- 单击 “查看应用程序事件”按钮以打开 ApplicationEvents.vb 文件。
- 编写代码
![实现Web页面向windows应用程序发送消息 - 文章图片](/upload/getfiles/0001/2021/5/11/20210511025118244.jpg)
![实现Web页面向windows应用程序发送消息 - 文章图片](/upload/getfiles/0001/2021/5/11/20210511025118311.jpg)
ByVal sender As Object,
ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupNextInstanceEventArgs
) Handles Me.StartupNextInstance
Dim MsgHandler As String = "myTest://"
Dim Action As String = ""
For Each s As String In e.CommandLine
If s.ToLower.StartsWith(MsgHandler) Then
Action = s.Remove(0, MsgHandler.Length)
End If
Next
Select Case Action
Case "openMain"
Me.OpenForms.Item("MainFrm").Show()
Case Else
End Select
End Sub
C#实现省略。
然后、客户端注册URL协议.
向注册表增加"myTest:"协议,指定程序启动路径及消息格式.
原理:
当一个用户点击一个注册了你的自定义URL协议的链接后,浏览器会启动注册的URL协议的处理器。如果指定shellopen命令在注册表中包含一个%1参数的话,Internet Explorer传递这个URI给注册协议的处理器。这最后的统一资源标识符(URI)被编码(%1);即16进制换码符被转换为等价的UTF-16字符。
[HKEY_CLASSES_ROOT\myTest]
@=""
"URL Protocol"=""
[HKEY_CLASSES_ROOT\myTest\Shell]
[HKEY_CLASSES_ROOT\myTest\Shell\Open]
[HKEY_CLASSES_ROOT\myTest\Shell\Open\Command]
@="\"c:\\WindowsDemo.exe\" \"%1\""
最后,在浏览器中输入 myTest://openMain即可打开程序WindowsDemo的主窗口。
参考:http://msdn.microsoft.com/zh-cn/library/aa767914(en-us,VS.85).aspx
转载于:https://www.cnblogs.com/JChenTech/archive/2011/03/09/1978036.html
内容总结
以上是互联网集市为您收集整理的实现Web页面向windows应用程序发送消息全部内容,希望文章能够帮你解决实现Web页面向windows应用程序发送消息所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。