前几天,做项目时候用到js调用本地的程序,找了好多资料,一种是写入注册表,一种是写一个浏览器插件,相对来说,写一个注册表更简单一点,因为需求很紧。下面就是我的总结,希望可以对你们有所帮助,具体从哪里找的忘了,如果也有看见的烦劳烦告知一下,不胜感激。
第一步:
写入注册表,注册表示例
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOTopenNotepad] @="URL:openNotepad Protocol" "URL Protocol"="" [HKEY_CLASSES_ROOTopenNotepadDefaultIcon] @="TestKZT.exe,1" [HKEY_CLASSES_ROOTopenNotepadshell] [HKEY_CLASSES_ROOTopenNotepadshellopen] [HKEY_CLASSES_ROOTopenNotepadshellopencommand] @="cmd /c set m=%1 & call set m=%%m:openNotepad:=%% & call "C:\Windows\TestKZT.exe" %%m%% & exit"
保存为1.reg,运行就好
第二步,用浏览器调用并传入参数,示例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <div> <a href="openNotepad:www.baidu.com">百度</a> </div> </body> </html>
即可调用外部程序
其他注释:
示例调用的是C:\Windows\TestKZT.exe的自定义程序,其他类似,传入参数方式相似
这个就不需要什么小例子了,如有需要,留下邮箱。