• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > Web系统通过EXE文件实现读取客户电脑MAC等硬件信息且兼容非IE浏览器

Web系统通过EXE文件实现读取客户电脑MAC等硬件信息且兼容非IE浏览器

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了unitywebplayer.exe,webserver.exe,web helper.exe,nvdia web helper.exe,webcomponents.exe等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

对于一般情况来说,我们用得最多的可能是使用ActiveX控件的方法来实现,但此方案只适用于IE浏览器。为了能兼容不同的浏览器,如FireFox等,我们就需要考虑到一种比较通用的方法。此方法我们可以参考“在很多网站中,会在网页的某个地方给一个链接来直接启动QQ来聊天”。这种方法可以实现Web系统来调用客户端电脑的某个exe文件(前提是在客户端必须安装需调用的exe应用程序)。QQ的解决方法是采用在OS中注册一种自定义的协议,如:tencent://message/?uin=88888888&Site=abc.com&Menu=yes.

大家可以在浏览器地址栏中输入以上地址,即可弹出一个QQ的聊天对话框,这样即实现了Web系统与客户端本地的exe应用程序的通讯。

通过以上的方法,我们可以参考此方案来实现Web系统读取到客户端电脑的Mac地址等。

为了实现以上,我们大概需要以下几步:

1,首先,我们需要在数据库中建立一张表格,如:LoginTempInfo ,其字段有:

   LoginID,MacAddress  两个字段就可以了。

2,建立一个WindowsForm的应用程序(用于接收Web传过来登录ID,然后获取本地的Mac地址,并Update到后台的LoginTempInfo表中)。主要需注意的地方为:在类Program.cs中的主方法main中传入一个参数,string[] args。

  具体如下:

 /// <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]));
   }
  }

</div>

     以上参数就是为了接收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\""

</div>

附件做了个简单的例子,来实现Web系统与本地exe的通讯。(说明:附件只是一个参考例子)

以上,只是我想到的比较通用的Web系统调用客户端Mac地址的方法。如果大家有更好的办法,欢迎大家提出讨论。谢谢。

附件下载地址:http://www.weikejianghu.com/softs/200002.html

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Web系统通过EXE文件实现读取客户电脑MAC等硬件信息且兼容非IE浏览器

相关文章

  • 2017-05-11ASP.NET餐饮管理系统制作代码分享
  • 2017-05-11微软官方SqlHelper类 数据库辅助操作类 原创
  • 2017-05-11解决ASP.NET中Type.GetType方法总返回空的问题
  • 2017-05-11详解ASP.NET Core应用中如何记录和查看日志
  • 2018-08-20vs2010出现error MSB8008的解决方法
  • 2017-05-11php基础练习--简单验证码实现
  • 2017-05-11asp.net网站的404错误页面的正确设置方法第1/2页
  • 2017-05-11asp.net 无法获取的内部内容,因为该内容不是文本 的解决方法
  • 2017-05-11使用SNK密钥文件保护你的DLL和代码不被反编译教程
  • 2017-05-11Visual Studio 2017 离线安装教程

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • asp.net实现识别客户端浏览器或操作系统
    • 在Asp.net用C#建立动态Excel
    • 在ASP.NET 2.0中操作数据之三十二:数据控件的嵌套
    • asp.net遍历目录文件夹和子目录所有文件
    • 动态加载Js代码到Head标签中的脚本
    • asp.net保存网上图片到服务器的实例
    • .NET Unity IOC框架使用实例详解
    • http转https的实战记录(iis 7.5)
    • 在ASP.NET 2.0中操作数据之六十七:在TableAdapters中使用JOINs
    • asp.net使用母版页中使用ajax脚本取数据

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有