对于一般情况来说,我们用得最多的可能是使用ActiveX控件的方法来实现,但此方案只适用于IE浏览器。为了能兼容不同的浏览器,如FireFox等,我们就需要考虑到一种比较通用的方法。此方法我们可以参考“在很多网站中,会在网页的某个地方给一个链接来直接启动QQ来聊天”。这种方法可以实现Web系统来调用客户端电脑的某个exe文件(前提是在客户端必须安装需调用的exe应用程序)。QQ的解决方法是采用在OS中注册一种自定义的协议,如:tencent://message/"htmlcode">
/// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main(string[] args) { int argsLength = args.Length; MessageBox.Show(argsLength.ToString()); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); if (argsLength == 0) { Application.Run(new Form1()); } else { MessageBox.Show(args[0]); Application.Run(new Form1(args[0])); } }
以上参数就是为了接收Web中的连接地址,在此地址中我们传入一些参数,来实现与exe的参数的传递.
3,我们可以在Web系统的登录页Login.aspx中window.onload方法中来增加一个连接地址,如:helloworld://hello_world/Apara=abc001.
在页面加载完成后,先自动生成一个唯一的LoginID,并将此LoginID插入到表LoginTempInfo中,此时其MacAddress是空的。
然后再自动执行一个连接:helloworld://hello_world/LoginID=**** (其中****表示此次生成的唯一登录ID).
此时,会自动调用本地的helloworld程序,并将以上:helloworld://hello_world/LoginID=****传入到exe程序中.
在此,Web程序暂停2秒,使用setTimeout方法来实现,2秒后,再从数据表中取出当前登录ID的MAC地址(经过第四步来完成)。
4,本地exe程序接收到参数:唯一登录ID后,调用一个方法来获取当前客户端电脑的MAC地址,并且将此MAC地址Update到数据表LoginTempInfo中,对应的是当前登录ID.
5,通过以上5步,就可以实现Web系统获取客户端的MAC地址来做限定验证.
特别注意,客户端在安装exe程序时,必须同步注册一下注册表信息:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\HelloWorld] @="HelloWorld Protocol" "URL Protocol"="" [HKEY_CLASSES_ROOT\HelloWorld\DefaultIcon] @="E:\\HW_TEST\\HelloWorld.exe,1" [HKEY_CLASSES_ROOT\HelloWorld\shell] @="" [HKEY_CLASSES_ROOT\HelloWorld\shell\open] @="" [HKEY_CLASSES_ROOT\HelloWorld\shell\open\command] @="\"E:\\HW_TEST\\HelloWorld.exe\" \"%1\""
附件做了个简单的例子,来实现Web系统与本地exe的通讯。(说明:附件只是一个参考例子)
以上,只是我想到的比较通用的Web系统调用客户端Mac地址的方法。如果大家有更好的办法,欢迎大家提出讨论。谢谢。
附件下载地址:https://www.jb51.net/softs/200002.html
Web,读取MAC
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。