最近进入了一个项目组,向大牛们一起学习如何搞开发,可谓是边开发边学习。就在前两天,我们的项目被领导们验收了一次,顺便给我们提了点新的需求,要求我们能够使用外在设备拍照上传。君要臣死,臣不能不死。更何况,他们没有让我们死,仅仅是我们去完成一个任务。回来之后,我们的头——郑浩,把这个任务交给了我,顺便给我带回来了一台型号为 S500A3B 的良田牌高拍仪。让我既欣喜,又癫狂。

——————————背景

嗯嗯,上边分给了任务,我们该努力了。首先,我跟良田客服取得联系,向他们索要了关于良田高拍仪的应用程序包和二次开发接口。下面就轮到我来分享了。

在起初,通过上网查资料,我们确定了两种实施方案。分别是:

一:通过调用本地程序来实现

二:把程序集成到我们的项目里面,实现直接调用。

经过讨论,我们采取了第一种方法,因为良田高拍仪的驱动应用程序有点大,大约有1个G,比我们的材料还要大很多,不太方便。其次就是我们发布后,客户端本地没有相关软硬件支持,也难以控制。再就是可能有的客户不需要这个东西,硬性绑定不太灵活。

针对第一种方法,我们有两种思路。

一:固定软件安装地址,写死调用路径

二:通过vbs,实现通过注册表查找软件安装路径,实现调用。

本次,就分享一下实现固定调用的方法,因为实现这个比较简单:

首先,在前台,我们做一个按钮:

<span style="font-size:18px;">            <input type="button" value="拍摄照片" onFocus='this.blur()' title=" 拍摄照片 "  style="margin-right:20px;  width:149px; height:47px;background-color:rgb(145,203,45);font-size:20px;color:white;border:0px;text-align:center;" " href=# onclick="javascript:Run('file://F:/项目资料/某某文件/EloamNewV5.0/eloamSample.exe','File') "/></span>

然后在用js实现真正的调用:

//调用高拍仪设备
function Run(strPath) {
var objShell = new ActiveXObject("wscript.shell"); objShell.Run(strPath);
//关闭进程
objShell = null;
} </script>

就这么简单,但是,由于在期间我们用到了active控件,所以,暂时只在IE上面兼容,在别的浏览器上还没有实现,肯定还有别的方法。这也值得我们继续努力学习。在接下来就是我的成果了:

组长的面容没有拍上,就先看下我们组长的良好身材吧!

总结:

这是我第一次跟项目,学到了很多,我们头也教会了我很多。做项目,技术很重要,但是思想和想法同样重要。我们不能仅仅因为自己是新人就畏首畏尾,我们应该积极向牛人们学习。郑浩和志婷教会我很多。包括思想和技术。我会继续努力的!

【Web前端】---js调用本地应用程序的更多相关文章

  1. PC网页js调用本地应用程序

    最近要现实一个在PC网页中实现点击按钮调用本地应用程序的功能 其实实现原理也非常简单, 首先注册一个本地注册表文件,指向本地应用程序路径 其次在网页中用js指向这个注册表文件,就可以实现网页调用本地应 ...

  2. JS调用本地应用程序

    <html><head><meta http-equiv="Content-Type" content="text/html; charse ...

  3. js调用本地程序

    前几天,做项目时候用到js调用本地的程序,找了好多资料,一种是写入注册表,一种是写一个浏览器插件,相对来说,写一个注册表更简单一点,因为需求很紧.下面就是我的总结,希望可以对你们有所帮助,具体从哪里找 ...

  4. 使用JS启动本地应用程序、屏幕键盘

    问题描述:     现在希望在Web端使用JS调用本地应用程序 问题解决:   (1)使用JS启动本地应用程序 使用上述代码重点是创建了一个ActiveXObject的对象     参考说明:     ...

  5. js网页中调用本地应用程序

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta http-equiv="Con ...

  6. ubuntu下浏览器调用本地应用程序

    ubunut下浏览器调用本地应用程序需要desktop文件和scheme协议的支持,和windows 的url protocol类似,只是注册协议的方式不一样. 首先是desktop文件,里面需要加入 ...

  7. html网页调用本地exe程序的实现方法:

    html网页调用本地exe程序的实现方法:1.新建注册表具体文件: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\hhtpexe] [ ...

  8. web前端js过滤敏感词

    web前端js过滤敏感词 这里是用文本输入框还有文本域绑定了失去焦点事件,然后再遍历敏感词数组进行匹配和替换. var keywords=["阿扁","呵呵", ...

  9. WEB前端JS与UI框架

    前端Js框架汇总 概述: 有些日子没有正襟危坐写博客了,互联网飞速发展的时代,技术更新迭代的速度也在加快.看着Java.Js.Swift在各领域心花路放,也是煞是羡慕.寻了寻.net的消息,也是振奋人 ...

随机推荐

  1. Unity3d 检查哪些prefab引用了某个UIAtlas

    适用情景:策划在用NGUI制作UI prefab时经常会使用一些临时的Atlas,然后再想改就不知道都哪些使用了.现在想修改下使用临时资源的GameObject 使用方式,先选中某个prefab或者某 ...

  2. ios CoreData NSManagedObject 生命周期

    用同样的检索条件从context检索出的对象是一个????所以 在主页的3个brand没法释放,在仅仅处理brand的时候???? 和 多个 context无关 我重写了NSManagedObject ...

  3. Java对象排序

    java实现对象比较,可以实现java.lang.Comparable或java.util.Comparator接口 //Product.java import java.util.Date; //p ...

  4. 如何为自己的windows 8系统的电脑更换锁屏壁纸

    现在的人都喜欢个性,今天教大家如何设置自己想要的锁屏壁纸 工具/原料 Windows 8系统的笔记本电脑 方法/步骤   将鼠标移到电脑的右下方,点击设置按钮进入设置页面   找到更改电脑设置并点击进 ...

  5. metro压缩和解压文件

    在1.zip中增加一张新图片StorageFile jpg = await KnownFolders.PicturesLibrary.GetFileAsync("1.jpg"); ...

  6. 【leetcode】 Interleaving String (hard)

    Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example,Given:s1 = ...

  7. 【HOG】

    http://blog.csdn.net/masibuaa/article/details/12917961 把这份资料大概看完了 大概了解Hog了

  8. Ajax如何使用Session

    在Ajax中有时会使用到Session,在aspx.cs文件这样获取: string name = Session["name"]; 但是在Ajax中就不能这样获取Session, ...

  9. ios开发函数(数学函数应用)

    今天在计算collectionView存放最小间距的时候用到一函数 " ABS " 顺便就查了一下这些数学函数在代码中的使用.. //----------------------- ...

  10. Linux Window Redis安装

    Linux 下简易的安装过程: 1.源码安装之前要先安装gcc,不然编译会出错, 2.下载源码,去http://download.redis.io/releases/这个文件夹内找想安装的版本,我下载 ...