如何从网页中调用本地exe应用程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从网页中调用本地exe应用程序相关的知识,希望对你有一定的参考价值。
参考技术A 骤如下假设我们准备好的exe主程序放置在d:/print/print.exe
编辑注册表信息如下
在hkey_classes_root下面新建一个shitou目录
编辑目录的默认属性,值为shitouProtocol
接着再新建一个字符串值,名称为URL
Protocol,值为d:/print/print.exe
接着在新建一个项(目录),目录名为DefaultIcon,编辑该目录的默认属性,值为d:/print/print.exe,1
在shitou下面再新建一个项,名称为shell
在shell下面再新建一个项,名称为open
在open下面再新建一个项,名称为command,编辑该目录的默认属性,值为”d:/print/print.exe”
“%1”
完成设置(在xp系统下需要重启)
完成设置
在网页a链接中,href=”shitou://”就可以打开该exe程序了(亲测兼容各个浏览器)
如何从 Web 脚本调用本地外围设备
【中文标题】如何从 Web 脚本调用本地外围设备【英文标题】:How to invoke local peripheral device from web script 【发布时间】:2011-09-22 10:05:53 【问题描述】:我对从网站调用本地应用程序感到困惑。 有没有办法从网络脚本启动 ipad/iphone 应用程序?我记得有带有 IE 的 ActiveX 可以启动本地设备,例如相机或打印机。 JavaScript 可以调用 ActiveX。但是iOS中没有activeX。这是我的问题:如何从网页启动本地设备?有没有人有同样的问题?我有一种方法,但不知道是否可行:
-
UIWebView 可以通过 stringByEvaluatingJavaScriptFromString 执行 JavaScript。
用JavaScript在页面中编写一个函数,响应页面上的事件(按钮点击等),然后改变状态。
启动线程查询状态。当状态改变时,调用本地应用。
这是可能的还是更好的方法?
【问题讨论】:
【参考方案1】:如果您希望通过 iPad 从 Safari 浏览器打开您的应用程序,那么有一种方法可以做到这一点。在应用的 info.plist 文件中添加以下标签:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.companyname.appname</string>
<key>CFBundleURLSchemes</key>
<array>
<string>openApp</string>
</array>
</dict>
</array>
保存 plist 文件,当用户单击所需按钮时,现在在网页上放置 openApp://
代替链接。如果您尝试在自己的应用程序中的 Web 视图中实现它,这将无济于事。但它适用于 iPad 或任何其他应用程序的 Safari 浏览器。
我希望这会有所帮助。
【讨论】:
谢谢,它确实有效。但是,我仍然想在 UIWebView 中实现这一点。有什么办法吗? 是的,您也可以从 Web 视图中执行此操作。但是您不能从 App A 的 webview 调用 App A,因为这没有任何意义。您将只能从 App A 的 webview 调用另一个应用程序。因此,最好将网络链接从您的应用重定向到 safari,然后使用上述方法再次返回您的应用。以上是关于如何从网页中调用本地exe应用程序的主要内容,如果未能解决你的问题,请参考以下文章