如何从网页中调用本地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应用程序的主要内容,如果未能解决你的问题,请参考以下文章

VC中如何调用exe文件?

如何通过 JavaScript 从服务器端的网页调用客户端 C# 程序函数?

如何从网页 (asp.net) 启动 EXE

VB 如何调用系统默认程序打开指定网页?

如何在C语言中调用exe文件

web网页调用本地客户端程序的方法