精华内容
下载资源
问答
  • web调用本地应用程序
  • 网页打开本地应用程序

    千次阅读 2017-07-27 19:50:08
    业务方案网页打开本地应用程序本地应用程序检查本地wireshar是否存在,如果存在支持启动本地wireshark,如没有wireshark应用程序存在则安装wireshark。 业务实现流程1、本地应用程序开发使用vs2015新建win32控制台...

    业务目标

    通过网页自动打开wireshark,完成远程抓包。
    

    业务方案

    网页打开本地应用程序,本地应用程序检查本地wireshar是否存在,如果存在支持启动本地wireshark,如没有wireshark应用程序存在则安装wireshark。
    

    业务实现流程

    1、本地应用程序开发

    使用vs2015新建win32控制台应用程序。

    int main(int argc, char* argv[])
    {
        int i = 0;
        char lcmd[256];
        char* inParm = "-B 1 -k -i rpcap://[10.21.137.228]:2002/eth0";
        //char* cmd = "D:\\Program Files\\Wireshark\\wireshark.exe";
    
        for (i = 0; i < argc; i++)
        {
            printf("printf argv[%d]:%s \n",i,argv[i]);
        }
    
        //通过获取本地wireshark注册表信息
        //,读取wireshark执行路径
        getRegWireshark();
    
        //把执行路径和入参组成cmd
        sprintf_s(lcmd,"%s %s",cmd, inParm);
        printf("cmd:%s \n", lcmd);
    
        //启动远程手抓包
        WinExec(lcmd, SW_SHOW);
        Sleep(1000*10);
        return 0;
    }
    

    wireshark注册表读取实现

    int getRegWireshark()
    { 
        // Dynamic allocation will be used.  
        HKEY hKey;
        int i = 0;
        char* p = NULL;
        char* curP = NULL;
        char ansi[MY_BUFSIZE] = { 0 };
    
        TCHAR szProductType[MY_BUFSIZE];
        memset(szProductType, 0, sizeof(szProductType));
        DWORD dwBufLen = MY_BUFSIZE;
        LONG lRet;
    
        // 下面是打开注册表, 只有打开后才能做其他操作   
        lRet = RegOpenKeyEx(HKEY_CLASSES_ROOT,  // 要打开的根键   
            TEXT("wireshark-capture-file\\shell\\open\\command"), // 要打开的子子键   
            0,        // 这个一定要为0   
            KEY_QUERY_VALUE,  //  指定打开方式,此为读   
            &hKey);    // 用来返回句柄   
    
                       // 判断是否打开成功
        if (lRet != ERROR_SUCCESS)
        {
            printf("RegOpenKeyEx HKEY_CLASSES_ROOT error \n");
            return 1;
        }
    
        //下面开始查询   
        lRet = RegQueryValueEx(hKey,  // 打开注册表时返回的句柄   
            TEXT(""),  //要查询的名称,   
            NULL,   // 一定为NULL或者0   
            NULL,
            (LPBYTE)szProductType, // 我们要的东西放在这里   
            &dwBufLen);
        // 判断是否查询成功
        if (lRet != ERROR_SUCCESS)
        {
            printf("RegQueryValueEx error \n");
            return 1;
        }
    
        RegCloseKey(hKey);
    
        WideCharToMultiByte(CP_ACP, 0, szProductType, -1, ansi, sizeof(ansi), NULL, NULL);
    
        p = ansi + strlen(ansi);
        for (i = strlen("\" \"%1\""); i > 0; i--)
        {
            *--p = '\0';
        }
        p = ansi;
        printf("ansi:%s \n", ansi);
        sprintf_s(cmd,"%s",++p);
    
    }
    

    2、应用程序安装包发布
    解决方案上新建生成安装项目

    注册表编辑
    打开工具栏视图,编辑器,注册表,如下:
    这里写图片描述

    具体配置如下:
    这里写图片描述
    安装项目配置

    补充
    1、手动制做注册文件

    使用记事本编辑注册脚本。

    Windows Registry Editor Version 5.00
    [HKEY_CLASSES_ROOT\mywireshark]

    @=”WebshellProtocol”

    “URL Protocol”=”D:\wireshark\wireshark.exe”

    [HKEY_CLASSES_ROOT\mywireshark\DefaultIcon]
    @=”D:\wireshark\wireshark.exe,1”
    [HKEY_CLASSES_ROOT\mywireshark\shell]
    [HKEY_CLASSES_ROOT\mywireshark\shell\open]
    [HKEY_CLASSES_ROOT\mywireshark\shell\open\command]
    @=”\”D:\wireshark\wireshark.exe\” \”%1\”“

    2、修改注册文件后缀名为mywireshark.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="consoleApp://">
                </a>
            </div>
        </body>
    </html>
    

    测试输出

    这里写图片描述

    这里写图片描述

    4、使用浏览器打开html文件。

    demo 地址:http://download.csdn.net/detail/s18098934396/9907947

    展开全文
  • 参考百度云盘调用本地应用程序,在调起应用程序的同时传入一些参数,应用程序根据参数做出相应的操作。 主要思路是利用自定义URL Protocol来调用应用程序。浏览器在解析到自定义URL Protocol之后,会寻找注册表,...

    参考百度云盘调用本地应用程序,在调起应用程序的同时传入一些参数,应用程序根据参数做出相应的操作。

    主要思路是利用自定义URL Protocol来调用应用程序。浏览器在解析到自定义URL Protocol之后,会寻找注册表,然后通过注册表启动相应的程序,然后启动改程序,传入参数。主要实现步骤如下

    • 自定义URL Protocol
    Windows Registry Editor Version 5.00
     
    [HKEY_CLASSES_ROOT\OCR]
    "URL Protocol"="D:\\OCR\\OCR.exe"
     
    [HKEY_CLASSES_ROOT\OCR\DefaultIcon]
    @="D:\\OCR\\HLOCR.exe"
     
    [HKEY_CLASSES_ROOT\OCR\shell]
     
    [HKEY_CLASSES_ROOT\OCR\shell\open]
     
    [HKEY_CLASSES_ROOT\OCR\shell\open\command]
    @="\"D:\\OCRHLOCR.exe\" \"%1\" "

    自定义URL Protocol的注册表信息说明:

    Windows Registry Editor Version 5.00 是注册表工具的版本信息,可以自己改一改,或者自己导入任意一个注册信息,把这一行复制过来就行了;

    [HKEY_CLASSES_ROOT\OCR] 中的OCR就是在HKEY_CLASSES_ROOT下面添加一个OCR树,其中OCR的名称就对应着自定义URL Protocol的名称,在web中调用的时候需要这个名称;

    D:\\OCR\\OCR.exe中的"D:\\OCR\\OCR.exe"是指定应用程序的路径,注意只能是exe的程序;

    [HKEY_CLASSES_ROOT\OCR\shell] 是协议的名称,可以是任意字符串,后面不会用到;
     
    [HKEY_CLASSES_ROOT\OCR\shell\open] 表示在OCR中再加一个分支,照抄,不用管
     
    [HKEY_CLASSES_ROOT\OCR\shell\open\command] 照抄

    "D:\\OCRHLOCR.exe\" \"%1\"  程序路径,其中%1表示到参数,参数可以在你的程序COR.exe中进行解析

    • 保存为reg格式文件

    注册时可能出现“无法导入reg:指定的文件不是注册脚本”,需要把编码格式改成Unicode,并且第一行不能为空行

    • 网页调用 

    调用协议为超链接形式,如下所示:

    <a href="OCR://123">OCR</a>
    • 参数接收(QT为例),根据不同参数做出不同相应即可
    QMessageBox::information(NULL,"",QString("参数个数%1").arg(argc));  
    for(int i = 0; i < argc; i++)
    {
        QMessageBox::information(NULL,"",QString("参数:%1").arg(argv[i]));
    }

     

    展开全文
  • PC网页js调用本地应用程序

    千次阅读 2019-06-02 17:28:38
    最近要现实一个在PC网页中...其次在网页中用js指向这个注册表文件,就可以实现网页调用本地应用程序 复制代码 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\myprotocol] @=“myprotocol Protocol”...

    最近要现实一个在PC网页中实现点击按钮调用本地应用程序的功能

    其实实现原理也非常简单,

    首先注册一个本地注册表文件,指向本地应用程序路径

    其次在网页中用js指向这个注册表文件,就可以实现网页调用本地应用程序

    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\myprotocol]
    
    @="myprotocol Protocol"
    
    "URL Protocol"=""
    
    [HKEY_CLASSES_ROOT\myprotocol\DefaultIcon]
    
    @="D:\\Tools\\FF\\tencent\\qqmusic\\QQMusic.exe"
    
    [HKEY_CLASSES_ROOT\myprotocol\shell]
    
    @=""
    
    [HKEY_CLASSES_ROOT\myprotocol\shell\open]
    
    @=""
    
    [HKEY_CLASSES_ROOT\myprotocol\shell\open\command]
    
    @="\"D:\\Tools\\FF\\tencent\\qqmusic\\QQMusic.exe\" "
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body style="text-align: center;padding-top: 300px;">
    <button onclick="window.location.href='myprotocol://D:\\work\\data\\2018\\08-11\\11-16\\myprotocol.reg'" style="margin: 200px auto;">打开QQ音乐</button>
    <a href="myprotocol://D:\work\data\2018\08-11\11-16\myprotocol.reg" style="margin: 200px auto;">打开QQ音乐</a>
    </body>
    </html>
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • java打开本地应用程序

    千次阅读 2018-01-19 16:44:04
    首先需要创建一个进程,然后用该进程去打开本地应用程序,当然也可以调用cmd命令。 package main; public class CallExe { public static void main(String[] args) { Runtime rt = Runtime.getRuntime(); ...

    首先需要创建一个进程,然后用该进程去打开本地应用程序,当然也可以调用cmd命令。


    package main;
    
    public class CallExe {
        public static void main(String[] args) {
            Runtime rt = Runtime.getRuntime();
            Process p = null;
            String fileLac = "";
            try {
                fileLac = "D:\\Program Files (x86)\\Notepad++\\notepad++.exe";// 要调用的程序路径
                p = rt.exec(fileLac);
            } catch (Exception e) {
                System.out.println("open failure");
            }
        }
    
    }
    展开全文
  • 网页Web上调用本地应用程序

    千次阅读 2017-12-15 17:48:10
    web调用本地应用程序 利用自定义URL Protocol来调用应用程序。
  • 在这里大家可以通过Android本地应用程序的一些介绍更加深入的对这一开源系统进行解读。 Android本地应用程序也使用Intent来启动Activity和子Activity。 下面的列表简单的列出了Intent类中以静态字符串常量保存...
  • 最近项目遇到一个需求,需要通过网页调用本地应用程序。 找到2个方法,记录一下。 第一个方法,使用WScript.Shell Test Page function Run(strPath) { var objShell = new ActiveXObject("wscript.shell"); ...
  • ubuntu下浏览器调用本地应用程序

    千次阅读 2019-09-18 20:35:28
    ubunut下浏览器调用本地应用程序需要desktop文件和scheme协议的支持,和windows 的url protocol类似,只是注册协议的方式不一样。 首先是desktop文件,里面需要加入一个字段来注册协议 MimeType=x-scheme-handler/...
  • 您访问的绝大多数网站都可以访问Internet,但是许多公司已经发现Intranet开发是有其用途的。 但是,您可以更进一步-可以开发功能完善的Web应用程序... 如果有的话,仅本地的Web应用程序比面向一般用途的Web应用程序...
  • 网页Web上调用本地应用程序(.exe)

    万次阅读 2017-02-15 23:28:53
    网页Web上调用本地应用程序(.exe)
  • 网页调用本地应用程序 — URL Protocol

    千次阅读 2018-12-04 13:14:43
    本文介绍了如何在网页中启动本地应用程序并传递参数,同时本文基于常用的方式提出了一些改进措施。
  • 网页Web上调用本地应用程序( exe)

    千次阅读 2019-02-23 16:55:07
    网页Web上调用本地应用程序( exe)
  • 编写chrome插件,调用本地应用程序,并进行通讯(发送信息给应用程序)
  • 关于java调用本地应用程序(黑窗口CMD,或exe可执行文件)java String path = "D:\\xx.bat"; Runtime.getRuntime().exec(path);当然,像这种cmd命令窗口,执行后可能需要对其进行一些操作,或者查看执行结果等,所以...
  • 前端js直接打开本地应用程序的方法

    千次阅读 2020-07-07 09:18:46
    前端js直接打开本地应用程序的方法 1.首先新创建一个文本文本,里边写入(注意:下边标橘色的地方最好与文件名一致,我这里是里本地的qq做的测试) Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\QQtest...
  • 用js写本地应用程序

    千次阅读 2016-09-30 00:24:16
    使用js作为语言来写本地应用程序?反正我没听说过,直到前两天想写一个小程序,尝试了一下新技术,才发现js原来还可以这么玩。  js一般与网页联系比较紧密,可以用来操作网页文档结构,Qt中的Quick技术与其很类似,...
  • 网页如何和本地应用程序交互?

    千次阅读 2016-01-25 11:00:50
    而且浏览器本身也比较自律:所以问题的核心不是本地应用程序,而是浏览器,现在的主流浏览器都非常自律,还在进一步自律... 如果你可以在本地运行程序,那么就与浏览器毫无关系了 任何方式(也许仅受制于IP协议),...
  • Windows 10 不能搜索本地应用程序

    千次阅读 2017-04-16 18:05:31
    使用中一直不知道如何搜索本地应用程序,win7下可以直接搜索的。 google了一下,发现是内置的app没有安装好导致的,解决办法是重装内置app。 方法: 1。管理员身份运行cmd,输入 start powershell,打开ps窗口;
  • 浏览器调用本地应用程序

    千次阅读 2019-08-28 16:09:27
    第一次遇到这个问题是比较蒙的,后来查找资料后逐渐有了思路: IE 浏览器可以使用 ActiveX控件,但会有风险...如何去查找第三方应用程序在注册表中注册的,我们能够在浏览器中调用并打开该应用程序的url协议? 在无...
  • 通过自定义URL协议在Web中启动本地应用程序 1、注册应用程序来处理自定义协议  你必须添加一个新的key以及相关的value到HKEY_CLASSES_ROOT中,来使应用程序可以处理特殊的URL协议。 ...
  • 使用.NET 4.0编程时,可以使用System.Drawing.Icon类的静态方法ExtractAssociatedIcon获取本地应用程序的图标。下方是示例代码,address变量时本地应用程序地址,获取图标后转为base64,保存在info对象的function...
  • 1. 需要启动的本地应用程序为:  e:\SRC\Test\MyApp\bin\Debug\MyApp.exe 2. 编辑注册表导入文件: MyApp_Disk_D.reg  内容如下: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\myapp] @="URL:AutoHot...
  • js 通过URL Protocol实现网页调用本地应用程序exe或者bat

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,505
精华内容 19,002
关键字:

本地应用程序