web呼叫客戶端程式
背景
最近做一個整合需求,我們是B/S架構的,對方是C/S架構的,對方直接扔過來一個EXE連OCX都沒有,讓我們呼叫,也就是說,我們需要通過js程式去呼叫他們的客戶端程式並傳入多個引數,當時內心是崩潰的,網上查了些資料,發現還真的可以!下面開始。
原理
1.在登錄檔中把需要呼叫的exe註冊一個呼叫協議
2.在瀏覽器中通過<a>標籤來直接呼叫
設定登錄檔呼叫協議
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Browser] @="" "URL Protocol"="" [HKEY_CLASSES_ROOT\Browser\DefaultIcon] @="D:\\MyCode\\learnTest\\RegisterURI\\wrapper.exe" [HKEY_CLASSES_ROOT\EmrBrowser\Shell] @="" [HKEY_CLASSES_ROOT\Browser\Shell\Open] @="" [HKEY_CLASSES_ROOT\Browser\Shell\Open\Command] @="D:\\MyCode\\learnTest\\RegisterURI\\wrapper.exe %1"
說明:
Browser:自定義的協議名稱;
D:\MyCode\learnTest\RegisterURI\wrapper.exe :呼叫的exe檔案路徑;
%1 :代表傳入的引數;
以上內容可以直接儲存到記事本里,修改為.reg檔案,雙擊執行即可。
當然,也可以regedit直接進登錄檔一級一級的設定,具體修改登錄檔自行搜尋。
文章末尾有demo可以下載參考。
效果如圖:
如何呼叫
1.一個<a>標籤即可: <a href="Browser:// 0000513082 R475323015">測試呼叫EXE</a> 2.使用JQuery建立a標籤呼叫: function sendReportsToPrinter() { var link = $('<a href="Browser:// 0000513082 R475323015"></a>'); $('body').append(link); link.get(0).click(); link.remove(); }
說明:
(敲黑板~)此處重點,重點,重點
Browser:// 定義的登錄檔協議名,會作為第一個引數傳入,多個引數用空格分割即可,看下圖,最後一個引數會自動新增/需要單獨處理。
執行效果:
參考連結
1.https://msdn.microsoft.com/en-us/library/aa767914.aspx#app_ex (msdn強烈推薦)
2.http://www.cnblogs.com/hwade/archive/2008/01/08/1029686.html
Demo下載
相關推薦
web呼叫客戶端程式
背景 最近做一個整合需求,我們是B/S架構的,對方是C/S架構的,對方直接扔過來一個EXE連OCX都沒有,讓我們呼叫,也就是說,我們需要通過js程式去呼叫他們的客戶端程式並傳入多個引數,當時內心是崩潰的,網上查了些資料,發現還真的可以!下面開始。 原理 1.在登錄檔中把需要
WEB程式呼叫客戶端程式
我把程式編譯成edss.exe 2)用notepad編輯一個檔案,改名為edss.reg Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\EDSS] @="URL:EDSS Protocol" "URL Protocol"="" [HKEY_C
利用Axis2開發WebService(3)---用Java實現呼叫WebService的客戶端程式
WebService是為程式服務的,只在瀏覽器中訪問WebService是沒有意義的。因此,在本節使用Java實現了一個控制檯程式來呼叫上一節釋出的WebService。呼叫WebService的客戶端程式碼如下: package client; impor
基於Leaflet 的Web地圖客戶端應用程式開發框架
MarsGIS for Leaflet地圖框架 是火星科技研發的一個Web地圖開發平臺系統,是火星科技團隊成員多年GIS開發和Leaflet使用的技術沉澱。基於Leaflet和現代Web技術棧全新構建, 集成了領先的開源地相簿、視覺化庫,提供了全新的大資料視覺化、實時流資料視
基於 Cesium 的Web三維地球客戶端程式開發框架
MarsGIS for Cesium三維地球框架 是火星科技研發的一個Web三維地圖開發平臺系統,是火星科技團隊成員多年GIS開發和Cesium使用的技術沉澱。基於Cesium和現代Web技術棧全新構建, 集成了領先的開源地相簿、視覺化庫,提供了全新的大資料視覺化、實時流資料
解決 IOS9.0 呼叫qq2.91SDK登入 只顯示web頁面而不能呼叫客戶端登入的問題
找qq文件是沒有用的,關於如何在真機上呼叫qq的客戶端,文件裡並沒有說,讓我蛋疼 了一個下午,終於對照著qq的demo, 一個一個檔案的對比,發現還有配置檔案需要新增,類似於開啟某些許可權,才能呼叫起客戶端,如下,修改infi.plist,新增 LSApplicationQ
Android客戶端程式通過Web Service實現對伺服器端資料庫的查詢
1.eclipse+webservice開發例項 http://blog.csdn.net/xw13106209/article/details/7049614/ 2.java通過JDBC連結SQLServer2012 http://blog.csdn.net/stewen_001/article/det
ONVIF協議網路攝像機(IPC)客戶端程式開發(4):使用gSOAP生成Web Services框架程式碼
1. 專欄導讀 本專欄第一篇文章「專欄開篇」列出了專欄的完整目錄,按目錄順序閱讀,有助於你的理解,專欄前面文章講過的知識點(或程式碼段),後面文章不會贅述。為了節省篇幅,突出重點,在文章中展示的示例程式碼僅僅是關鍵程式碼,你可以在「專欄開篇」中獲取完整程式碼。
(已解決)c# 客戶端程式訪問oracle報錯:ORA-12154: TNS: 無法處理服務名
錯誤:ORA-12154: TNS: 無法處理服務名 這個錯誤大家在百度上一搜一大把,但是我出現這個錯誤的原因跟百度不太一樣,我的客戶端程式在不同的目錄可以正常執行,但在其中1個目錄就是要出錯,因此我想到是目錄路徑中出了問題,既然是路徑那就只能是資料夾名有什麼特殊之處導致不能執行,後來發現不能執
ftp客戶端程式的三個實驗
準備好兩臺互相ping通的虛擬機器 一。匿名使用者 安裝需要用的包 vim 編輯主配置檔案 vim /etc/vsftpd/vsftpd.conf 第十二行等於YES 第十五行等於NO 27行和31行的#去掉 重啟服務service vsftpd restart 到客戶機端 安裝ftp服
java 使用html寫UI 做winform win桌面客戶端程式(一)
大家好,今天給大家帶來使用java+html寫winform win客戶端桌面程式的教程。 在讀本文之前你首先要能接受: 1 客戶端基於java+html所以 軟體包中需要包含 jre和 cef(chrome核心)的dll,軟體包比較大。 2 &
java web獲取客戶端外網ip和所在區域
@參考文章1、@參考文章2、@參考文章3、@參考文章4,@之前同事的專案 controller @Controller @RequestMapping("/home") public class HomeController { @RequestMappin
使用wsimport命令建立Web Service客戶端
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
支援 Appium 伺服器的客戶端程式庫列表
這些庫封裝了標準的 Selenium 客戶端,提供了所有 JSON Wire protocol 指定的常規 selenium 命令,額外新增操控移動裝置相關的命令,例如 多點觸控手勢 和 螢幕方向。 Appium 客戶端程式庫實現了 M
boost::asio伺服器處理多個客戶端連線(客戶端程式)
//客戶端程式 // // main.cpp // tcpserver // Created by suxianbin on 2018/9/15. // Copyright © 2018 suxianbin. All rights
hdfs叢集第一個客戶端程式
在叢集實體機中,我們可以直接通過實體機操作hdfs系統,直接使用hdfs命令將實體機中的檔案上傳至叢集檔案系統中,但實際應用中叢集會面向客戶端操作,不再是傳統命令操作,而是通過相應的客戶端程式來執行 測試之前先注意一下幾點: 1.叢集啟動狀況,是否正常
客戶端程式設計師的工具們
人和動物的本質區別就是會製作和使用工具…… 日誌持續提升: eDiary 記錄工作筆記學習心得,可以加密,而且配置可以拷貝,非常好用,用了6年了。 檔案查詢 everything windows環境下快速檔案查詢,一個字,快。搜尋支援正則表示式。
TCP客戶端程式(C語言)
TCP客戶端程式,與TCP伺服器端配合使用 Visual Stdio執行 // TCP客戶端.cpp : 定義控制檯應用程式的入口點。 // #include"stdafx.h" #include<stdio.h> #include<winsoc
嵌入式客戶端程式開發大彙總
先不說嵌入式客戶端程式開發,先看發展最好的客戶端程式開發領域:PC端(Win、IOS)、瀏覽器、移動端(Android、IOS)。這些客戶端開發程式設計師人數眾多、生產力極高的工具、良好的生態環境。客戶端程式有人稱為native開發,這是從網際網路開發角度看。 程式
java web 判斷客戶端裝置是否移動端
以下是全部程式碼,僅供參考! import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.servlet.http.HttpServlet; import javax.s