国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 幫助中心 > 正文

Web系統通過EXE文件實現讀取客戶電腦MAC等硬件信息且兼容非IE瀏

2024-07-09 22:47:07
字體:
來源:轉載
供稿:網友

對于一般情況來說,我們用得最多的可能是使用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]));   }  }

     以上參數就是為了接收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.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郓城县| 建湖县| 内江市| 鲜城| 鄂托克旗| 盖州市| 京山县| 类乌齐县| 黔西| 广水市| 九江市| 育儿| 永顺县| 商水县| 云林县| 黎平县| 高安市| 江川县| 尖扎县| 湖州市| 时尚| 太康县| 武威市| 宣威市| 洪泽县| 霞浦县| 雅江县| 齐齐哈尔市| 云南省| 临夏县| 高台县| 呈贡县| 镇巴县| 普兰县| 彰化县| 武定县| 射阳县| 长泰县| 博罗县| 云安县| 兴义市|