精华内容
下载资源
问答
  • 如何通过网页启动应用程序

    千次阅读 2018-11-08 20:45:31
    前些天再csdn上看到有人问如何点击网页上的某个链接,达到启动本机应用程序的目的,我看了下下面的回答,有人说使用dll,但看来看去总感觉思路不对。于是就有了这篇博文。 我们经常会在网站看到在线qq客服,只要你一...

    前些天再csdn上看到有人问如何点击网页上的某个链接,达到启动本机应用程序的目的,我看了下下面的回答,有人说使用dll,但看来看去总感觉思路不对。于是就有了这篇博文。

    我们经常会在网站看到在线qq客服,只要你一点击,电脑就会自动启动本机的qq,在你成功登陆之后弹出一个临时聊天的窗口。

    具体代码:

    <a href="tencent://message/?uin=215555521&Site=JooIT.com&Menu=yes">
    
    <img border="0" SRC='http://wpa.qq.com/pa?p=1:215555521:3' alt="点击这里给我发消息">
    
    </a>
    

    但它是如何实现的呢?下面文章以及微软官方说明详细解释了其工作原理:

    [微软官方说明](http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/pluggable/overview/appendix_a.asp)
    

    Register protocol,此文中对于 Windows、Linux 和 OS X 操作系统如何注册协议都有说明。比如说 Windows,其实只需写入注册表,即可实现协议与执行程序的关联。

    例如腾讯的Tencent://Message协议注册表如下:

        [HKEY_CLASSES_ROOT\TENCENT]
    
        @=”TencentProtocol”
    
        “URL Protocol”=”D:\\Program Files\\Tencent\\QQ\\Timwp.exe”
    
        [HKEY_CLASSES_ROOT\TENCENT\DefaultIcon]
    
        @=”D:\\Program Files\\Tencent\\QQ\\Timwp.exe,1″
    
        [HKEY_CLASSES_ROOT\TENCENT\shell]
    
        [HKEY_CLASSES_ROOT\TENCENT\shell\open]
    
        [HKEY_CLASSES_ROOT\TENCENT\shell\open\command]
    
        @=”\”D:\\Program Files\\Tencent\\QQ\\Timwp.exe\” \”%1\”"
    

    此注册表所实现的就是当浏览器(或其它)碰到 tencent://… 时,自动调用 Timwp.exe,并把 tencent://… 地址作为第一个参数传递给 Timwp.exe。

    因此可以只要自己注册协议后,就可以通过网页来启动应用程序了。

    转自 http://www.cnblogs.com/geekzph/archive/2011/06/16/2082988.html

    请允许我打个广告
    阿里云2018双11云服务只需99.5元

    • 1核2G内存,¥99.5/年
    • 2核4G内存,¥545.00/1年
    • 2核4G内存,¥927.00/2年
    • 2核4G内存,¥1227.00/3年
    • 2核8G内存,¥2070.00/3年(本人认为最划算)
      直达入口:http://t.cn/EZ14u8r
    展开全文
  • 怎样从网页直接启动客户端应用程序?像启动 QQ、淘宝旺旺那样,从过点击网页里的超链接,就直接启动一个本地程序。面对这种情况也许你会想到ActiveX,但当你发现对方的客户们用IE浏览器的很少,而大多数用浏览器并...

            怎样从网页上直接启动客户端应用程序?像启动 QQ、淘宝旺旺那样,从过点击网页里的超链接,就直接启动一个本地程序。面对这种情况也许你会想到ActiveX,但当你发现对方的客户们用IE浏览器的很少,而大多数用浏览器并不支持ActiveX,像这种具有不安全操作的ActiveX还得需要相关安全设置和数字签名的时候,你会放弃这种想法。
            这时再介绍一种方法给你,那就是JAVA自定义协议,其实这种技术在我们上网时经常可以遇到,如在浏览器中敲ftp://xxxxx.xxx 时,浏览器会自动跳转到ftp客户端或者windows资源浏览器中打开;再如,如果我们安装了迅雷后,点击网页中xunlei://xxx.xxx时,系统会自动启动web迅雷或迅雷软件。我们在网页中点播放音乐或电影视频之类的点播按钮时(例如mms://xxx.xx),客户端相关的播放软件就会自动触发。这显然是某种协议与系统中的应用程序存在着一些关联,而且你可能发现这种现象可以发生在任何浏览器下,这也是这种方法的过人之处。
            那我们怎么样才能自定义这种协议呢,答案是修改注册表中的信息,编写个.reg文件来更新注册表,按照如下格式编写这个.reg文件并执行。
      Windows Registry Editor Version 5.00
      [HKEY_CLASSES_ROOT\自定义协议名称]
      @="URL:自定义协议名称 Protocol"
      "URL Protocol"=""
      [HKEY_CLASSES_ROOT\自定义协议名称\DefaultIcon]
      @="应用程序路径"
      [HKEY_CLASSES_ROOT\自定义协议名称\shell]
      @=""
      [HKEY_CLASSES_ROOT\自定义协议名称\shell\open]
      @=""
      [HKEY_CLASSES_ROOT\自定义协议名称\shell\open\command]
      @="应用程序路径" \"%1\""


      例如在网页中启动一个计算器的应用程序如下:
      Windows Registry Editor Version 5.00
      [HKEY_CLASSES_ROOT\TestCalc]
      @="URL:TestCalc Protocol"
      "URL Protocol"=""
      [HKEY_CLASSES_ROOT\TestCalc\DefaultIcon]
      @="c:\\windows\\system32\\calc,1"
      [HKEY_CLASSES_ROOT\TestCalc\shell]
      @=""
      [HKEY_CLASSES_ROOT\TestCalc\shell\open]
      @=""
      [HKEY_CLASSES_ROOT\TestCalc\shell\open\command]
      @="\"c:\\windows\\system32\\calc\" \"%1\""


      执行完这个.reg文件后,在浏览器中敲入TestCalc://xxx试试,你会发现,你的目的就达到了。

    展开全文
  • 1、 需求描述:项目由网页部分及客户端大厅程序部分组成,网页上有一个进入大厅按钮,如果客户端安装了,点击按钮直接打开客户端程序,如果未安装则提示消息提醒安装客户端程序。 类似于QQ游戏大厅、联众游戏...
    摘自:http://blog.csdn.net/liyun919/archive/2009/11/13/4807958.aspx
    

    1、 需求描述:项目由网页部分及客户端大厅程序部分组成,网页上有一个进入大厅按钮,如果客户端安装了,点击按钮直接打开客户端程序,如果未安装则提示消息提醒安装客户端程序。

    类似于QQ游戏大厅、联众游戏大厅的打开,QQ的强制聊天功能。

    2、首先要实现如果客户端安装了,就打开客户端,网上大多给出的是通过js调用activex控件的方式实现,因为这样IE会弹出安全提示,感觉不好。

    <SCRIPT language=javascript>
    function Run() {
    var o = new ActiveXObject("WScript.Shell");
    o.exec("D:\\Program Files\\Ulead Systems\\Ulead VideoStudio 9.0\\vstudio.exe");
    }
    </SCRIPT>

    其实我们只需要通过注册协议方式就可以成功实现。

    在客户端安装时我们只需要写如下注册表信息:

    [HKEY_CLASSES_ROOT\test]
    @="testProtocol"
    "URL Protocol"=""C:\\Program Files\\test.Setup\\test.exe""

    [HKEY_CLASSES_ROOT\Ustcori\DefaultIcon]
    @=""C:\\Program Files\\test.Setup\\test.exe,1""

    [HKEY_CLASSES_ROOT\test\shell]

    [HKEY_CLASSES_ROOT\test\shell\open]

    [HKEY_CLASSES_ROOT\test\shell\open\command]
    @=""C:\\Program Files\\test.Setup\\Driver.exe""

    这样就注册了一个新协议test,之后直接通过在浏览器中输入test:\\\ ,就会自动从注册表中查找该协议程序的地址,打开客户端程序。

    3、然后就要实现客户端未安装时,提示消息了。

    这个颇费周折,网上没有找到相关的方式,大多的实现方式也是通过js调用WScript.Shell控件。

    后来找到了网上有很多QQ的实现方式:

     function   IsInstallQQ(){     
      try{//支持  
      var   xmlhttp=new   ActiveXObject("TimwpDll.TimwpCheck");  
          return   true;  
      }catch(e){//不支持  
       
      location.href='http://is.qq.com/webpresence/up_alarm.shtml';  
     //window.open('http://is.qq.com/webpresence/up_alarm.htm','','toolbar=no,location=no,directories=no,status=no,menubar=no,   scrollbars=yes,resizable=no,copyhistory=no,width=410,   height=410,top=0,left=0')  
      return   false;  
      }  
      return   false;  
      }  

     

    对 于红色那段activex的调用是怎么回事却没有说明,搜索一下发现msn,迅雷等其实是通过类似的方式实现的,制作一个自定义控件后,并对它进行安全授 权,连同客户端程序一起安装,该自定义控件会往注册表中写值,然后通过js实例化该控件,如果异常说明客户端程序未安装。

    看一下QQ如何写值的:

    [HKEY_CLASSES_ROOT\TimwpDll.TimwpCheck]
    @="TimwpDll.TimwpCheck"

    [HKEY_CLASSES_ROOT\TimwpDll.TimwpCheck\CLSID]
    @="ED4CA2E5-0EEA-44C1-AD7E-74A07A7507A4"
     

    认准的实现方向,那么下面就展开对于自定义activex控件的调查。

     

    4、利用VS2008制作自定义activex控件

        a、首先在解决方案下建一个Windows控件库项目(windows from control library),然后增加一个控件UstcOriWebLab.cs。

        b、打开AssemblyInfo.cs修改程序集信息。引用System.Security命名空间,并添加 [assembly AllowPartiallyTrustedCallers()]安全声明,修改[assembly: ComVisible(false)]为[assembly: ComVisible(true)]使程序集Com可见。

        c、为Com Interop注册。右键demoActiveX项目属性,在“生成”选项卡里将“为Com Interop注册”打上勾即可。

        d、选择菜单工具->创建 Guid工具生成一个新的Guid{E5FD041B-8250-4cbc-B662-A73FC7988FB5},copy下来,加在类头上

    [Guid("F325140B-90E3-42d7-8F27-F1E68E1BD92E"), ProgId("UstcOriWebLabActivex.UstcOriWebLab"), ComVisible(true)]

    F325140B-90E3-42d7-8F27-F1E68E1BD92E就是写入注册表的CLSID,UstcOriWebLabActivex.UstcOriWebLab为键名。

       e、实现IObjectSafety接口,把ActiveX控件标记为安全的。

    ActiveX危险,那么为什么QQ以及MediaPlayer等都是用ActiveX的方式创建的,却没有问题?原来,这是因为这些ActiveX组件都声明自己是脚本安全的,而IE的中级安全设置上,是允许脚本安全的ActiveX创建,并且不予警告的。

     IE怎么知道一个插件是脚本安全的?它是通过以下两个办法。一是查询ActiveX组件是否实现了IObjectSafety接口,并且返回脚本 安全;二是查询ActiveX组件是否在注册表的Component Category Manager里表明自己实现了CATID_SafeForInitializing和CATID_SafeForScripting。(参考http://blog.csdn.net/optman/archive/2007/07/18/1698070.aspx

     那么我们就通过实现IObjectSafety接口

    建一个接口文件IObjectSafety.cs,内容如下:

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Runtime.InteropServices;

    namespace UstcOriWebLabActivex
    {
        [ComImport, GuidAttribute("CB5BDC81-93C1-11CF-8F20-00805F2CD064")]
        [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
        public interface IObjectSafety
        {
            [PreserveSig]
            int GetInterfaceSafetyOptions(ref Guid riid, [MarshalAs(UnmanagedType.U4)] ref int pdwSupportedOptions, [MarshalAs(UnmanagedType.U4)] ref int pdwEnabledOptions);

            [PreserveSig()]
            int SetInterfaceSafetyOptions(ref Guid riid, [MarshalAs(UnmanagedType.U4)] int dwOptionSetMask, [MarshalAs(UnmanagedType.U4)] int dwEnabledOptions);
        }
    }


     

     

    在UstcOriWebLab.cs中实现接口

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;

    namespace UstcOriWebLabActivex
    {
        [Guid("F325140B-90E3-42d7-8F27-F1E68E1BD92E"), ProgId("UstcOriWebLabActivex.UstcOriWebLab"), ComVisible(true)]
        public partial class UstcOriWebLab : UserControl, IObjectSafety
        {
            public UstcOriWebLab()
            {
                InitializeComponent();
            }

             private const string _IID_IDispatch = "{00020400-0000-0000-C000-000000000046}";
            private const string _IID_IDispatchEx = "{a6ef9860-c720-11d0-9337-00a0c90dcaa9}";
            private const string _IID_IPersistStorage = "{0000010A-0000-0000-C000-000000000046}";
            private const string _IID_IPersistStream = "{00000109-0000-0000-C000-000000000046}";
            private const string _IID_IPersistPropertyBag = "{37D84F60-42CB-11CE-8135-00AA004BB851}";

            private const int INTERFACESAFE_FOR_UNTRUSTED_CALLER = 0x00000001;
            private const int INTERFACESAFE_FOR_UNTRUSTED_DATA = 0x00000002;
            private const int S_OK = 0;
            private const int E_FAIL = unchecked((int)0x80004005);
            private const int E_NOINTERFACE = unchecked((int)0x80004002);

            private bool _fSafeForScripting = true;
            private bool _fSafeForInitializing = true;

            public int GetInterfaceSafetyOptions(ref Guid riid,
                                 ref int pdwSupportedOptions,
                                 ref int pdwEnabledOptions)
            {
                int Rslt = E_FAIL;

                string strGUID = riid.ToString("B");
                pdwSupportedOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA;
                switch (strGUID)
                {
                    case _IID_IDispatch:
                    case _IID_IDispatchEx:
                        Rslt = S_OK;
                        pdwEnabledOptions = 0;
                        if (_fSafeForScripting == true)
                            pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER;
                        break;
                    case _IID_IPersistStorage:
                    case _IID_IPersistStream:
                    case _IID_IPersistPropertyBag:
                        Rslt = S_OK;
                        pdwEnabledOptions = 0;
                        if (_fSafeForInitializing == true)
                            pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_DATA;
                        break;
                    default:
                        Rslt = E_NOINTERFACE;
                        break;
                }

                return Rslt;
            }

            public int SetInterfaceSafetyOptions(ref Guid riid,
                                 int dwOptionSetMask,
                                 int dwEnabledOptions)
            {
                int Rslt = E_FAIL;

                string strGUID = riid.ToString("B");
                switch (strGUID)
                {
                    case _IID_IDispatch:
                    case _IID_IDispatchEx:
                        if (((dwEnabledOptions & dwOptionSetMask) == INTERFACESAFE_FOR_UNTRUSTED_CALLER) &&
                             (_fSafeForScripting == true))
                            Rslt = S_OK;
                        break;
                    case _IID_IPersistStorage:
                    case _IID_IPersistStream:
                    case _IID_IPersistPropertyBag:
                        if (((dwEnabledOptions & dwOptionSetMask) == INTERFACESAFE_FOR_UNTRUSTED_DATA) &&
                             (_fSafeForInitializing == true))
                            Rslt = S_OK;
                        break;
                    default:
                        Rslt = E_NOINTERFACE;
                        break;
                }

                return Rslt;
            }
       
        }
    }

    f、开始制作安装包

    新建一个安装项目,在项目上点右键,【添加】->【项目输出】,添加刚才的项目,生成项目,这样我们的activex控件就会和客户端程序一起安装到用户的机器上了。会生成两个文件,一个exe文件和一个msi文件。

    安装后,就是自动写入注册表键UstcOriWebLabActivex.UstcOriWebLab。

    客户端通过js检查:

    function   IsInstall(){     
      try{//支持  
            var   xmlhttp=new   ActiveXObject("UstcOriWebLabActivex.UstcOriWebLab");   
           window.navigate('Ustcori:///');  //打开客户端
      }catch(e){//不支持   
        
    alert("您未安装大厅程序!");

      return   false;  
      }  
      return   false;  
      }  

    OK搞定!!!!!!

    总结一下思路:

    通过写注册表自定义协议,然后通过协议地址打开客户端;

    自定义activex控件,并对控件进行安全授权,然后将该控件和客户端程序一起安装,写入注册表;

    最后通过js实例化自定义activex控件来检查控件是否安装,从而判断客户端程序是否安装。


    通过自定义URL协议在Web中启动本地应用程序
    1、注册应用程序来处理自定义协议
         你必须添加一个新的key以及相关的value到HKEY_CLASSES_ROOT中,来使应用程序可以处理特殊的URL协议。
         新注册的key必须与协议scheme相匹配才可以被添加。例如,增加一个“alert:”协议,被增加到HKEY_CLASSES_ROOT的key必须是alert。在这个新的key之下,默认的字符串value将显示新协议的名字,并且URL协议字符串value将包含协议特有的信息或者空字符串。Keys将同样被添加到DefaultIcon和shell中。
         默认的DefaultIcon key的字符串value必须是新URL协议图标文件名的路径。
         在shell key之下,一个key使用一个动词(就像open)将被添加。一个command(命令) key和一个DDEEXEC(动态数据交换执行) key都是使用动词来添加的。这command和DDEEXEC keys之后的values都是用来调用(或者启动)处理新协议的应用程序。
     
    2、启动处理程序
         当一个用户点击一个注册了你的自定义URL协议的链接后,Windows Internet Explorer(IE)启动注册的URL协议的处理器。如果指定shellopen命令在注册表中包含一个%1参数的话,Internet Explorer传递这个URI给注册协议的处理器。这最后的统一资源标识符(URI)被编码(%1);即16进制换码符被转换为等价的UTF-16字符。例如,用%20字符串取代空格。
         安全警示:应用程序处理URL协议必须全力面对恶意数据。因为处理程序接收来自不信任源的数据,URL和其它参数值传递给应用程序可能包含的恶意数据企图使用处理程序。因此,处理程序可以首先启动基于外部数据的空闲行为确认这些行为以及它们的用户。
     
    3、示例
         接下来的例子演示如何注册alert.exe应用程序,来处理alert协议。
           首先我们可以新建一个txt文件,写入内容如下:
    Windows Registry Editor Version 5.00
     
    [HKEY_CLASSES_ROOT\alert]
    @="URL:alert Protocol"
    "URL Protocol"="C:\\Program Files\\Alert\\alert.exe"
     
    [HKEY_CLASSES_ROOT\\alert\\DefaultIcon]
    @="C:\Program Files\Alert\alert.exe"
     
    [HKEY_CLASSES_ROOT\\alert\\shell]
    @="open"
     
    [HKEY_CLASSES_ROOT\\alert\\shell\\open]
    @="open"
     
    [HKEY_CLASSES_ROOT\\alert\shell\\open\\command]
    @="\"C:\\Program Files\\Alert\\alert.exe\" \"%1\""
           注意:a.路径使用双杠"\\";b.如果字符串中有双引号("),那么需要加转义字符"\"
    然后将文件名改为Alert.reg,双击本文件执行,将这些项写入到注册表。
     
        增加这些设置信息到注册表,尝试导航到像“alert:Hello%20World”这样的URLs中,将会尝试启动alert.exe程序并且在命令行中传递“Hello World”。
     
    4、协议处理实例
         下面的代码包含了一个简单的C#控制台应用程序演示了一种实现alert协议处理程序的方式:
    复制内容到剪贴板 程序代码
    using System;
    using System.Collections.Generic;
    using System.Text;
    namespace Alert1
    {
      class Program
      {
        static string ProcessInput(string s)
        {
           // TODO Verify and validate the input 
           // string as appropriate for your application.
           return s;
        }
     
        static void Main(string[] args)
        {
          Console.WriteLine("Alert.exe invoked with the following parameters.\r\n");
          Console.WriteLine("Raw command-line: \n\t" + Environment.CommandLine);
     
          Console.WriteLine("\n\nArguments:\n");
          foreach (string s in args)
          {
            Console.WriteLine("\t" + ProcessInput(s));
          }
          Console.WriteLine("\nPress any key to continue...");
          Console.ReadKey();
        }
      }
    }

    5、测试
    a、打开记事本,输入以下代码,并保存为test.html
    <a href="alert://Hello!">点击这里启动程序</a>

    b、将test.html拖入浏览器中打开,本人在Google Chrome中测试的;

    c、点击页面中的按钮"点击这里启动程序";

    d、你发现刚才写的程序运行了,并且TextBox中显示"alert://Hello!"。



    详细还可参考:http://msdn.microsoft.com/en-us/library/aa767914.aspx

    展开全文
  • 通过网页启动应用程序

    千次阅读 2011-08-09 13:40:57
    迅雷,电驴等软件可以在浏览器中点击一个url后自动启动,并执行操作。这是咋实现的呢? 其实就是在注册表上注册了一个Url-protocol的协议,代码如下: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\...

        迅雷,电驴等软件可以在浏览器中点击一个url后自动启动,并执行操作。这是咋实现的呢?

    其实就是在注册表上注册了一个Url-protocol的协议,代码如下:

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\TEST]
    @="TEST"
    "URL Protocol"=""
    [HKEY_CLASSES_ROOT\TEST\DefaultIcon]
    @="C:\\Test\\Debug\\TEST.exe"
    [HKEY_CLASSES_ROOT\TEST\shell]
    [HKEY_CLASSES_ROOT\TEST\shell\open]
    [HKEY_CLASSES_ROOT\TEST\shell\open\command]
    @="C:\\Test\\Debug\\TEST.exe   \"%1\""

    此注册表所实现的就是当浏览器(或其它)碰到 TEST://… 时,自动调用 TEST.exe,并把 TEST://… 地址作为第一个参数传递给 TEST.exe。

    可以直接将上面的代码保存为一个reg文件然后注册,或者在你的应用程序安装时直接修改注册表。

     

    但需要注意的是:通过这样的方法启动应用程序时,程序的工作目录会发生改变,如果代码中存在取工作目录路径的代码时会出现错误

    展开全文
  • 网页程序开机启动并自动全屏

    千次阅读 2015-01-30 10:49:02
    开机启动直接建立一个网页的快捷方式,丢到开机启动文件夹中即可。 主要是如何自动全屏,在网上发现一个十分实用且简单的方法: 以chrome浏览器为例,我们在建立快捷方式时,路劲填写如下即可: "C:\Program Files...
  • 网页启动客户端winForm应用程序

    千次阅读 2017-02-09 14:49:52
    还有一个需求,一般从网页启动应用需要传递参数(上面链接后面带了三个参数),做法如下: 你的应用程序主函数要这样接收参数: static void Main(string[] args)   {  if(args.Length>0)  { ...
  • 如何让网页运行exe程序,相当于安装插件
  • 在做web应用的时候,我们经常会遇到在web中调用本地应用程序的问题,例如在web中点击一个按钮,然后打开自己写的或者别人的应用程序。上网比较留意的同学应该会发现,想qq客服,淘宝的阿里旺旺客服都会有这样的效果...
  • bat脚本启动程序

    千次阅读 2014-12-02 16:34:15
    【心血来潮】 纵使你开机第一件事情就是启动qq, 但是你也不会让qq自动启动的。 点击鼠标有点麻烦,改为winr启动。 ... 【start与直接exe】 ... 上面这个命令是启动程序之后返回
  • 网页打开客户端应用程序

    热门讨论 2011-10-22 11:44:14
    模仿QQ,在网页直接调用客户端的应用程序网页上面链接打开程序
  • 【方法】HTML网页调用本地Python程序

    万次阅读 多人点赞 2018-05-07 11:15:00
    首先声明,在HTML中调用本地Python程序是十分不推荐的,一是因为网页调用本地程序的权限正在被取消,二是因为真不如JS写直接,三是只能在自己本地调用。 但如果你要用,像我一样,需要在课堂上进行一个Python代码的...
  • 从URL启动程序:也谈谈旺旺的页面启动
  • android 从微信分享的网页启动APP

    万次阅读 2016-03-02 16:52:19
    项目中有个需求,让用户可以从分享到微信的网页启动自己的APP,如果本机没有安装该应用程序则打开应用商店并打开该程序在商店中的搜索结果页面。在这里跟大家分享一下: 首先需要和服务端协商好网页中按钮点击...
  • 微信小程序,实现内嵌网页的分享

    万次阅读 2018-04-20 19:00:10
    需求是这样子的:小程序启动授权等操作成功后直接跳转到内嵌网页,内嵌的网址也就是公司的官网产品项目,而后,产品项目里面的各个网页都能支持分享操作,当然,对方打开的一定是你分享的那个页面而不是整个小程序...
  • 随便写一个JSP页面  在页面里面在转发到你要的Action  web.xml 里面添加   jump.jsp   jump.jsp里通过这段代码访问action':  meta标签是位于body和title之间即可。...action是不能放在web.xml中,只能放在...
  • 很多监控软件要求软件能够在系统重新启动后不用用户去点击图标启动项目,而是直接能够启动运行,方法是写注册表Software\\Microsoft\\Windows\\CurrentVersion\\Run。 参考程序可以见下:(查找程序目录
  • 程序开发工具命令行启动配置

    千次阅读 2018-10-31 11:41:52
    在cmd窗口中使用命令启动指定的小程序项目 命令形如: wechat -o miniapp-shops 1.自定义一个 wechat.bat 文件,输入以下代码: @echo off call C:&quot;\Program Files (x86)\Tencent\微信web开发者工具\&...
  • Android QQ交流群:813273942 具体做法,就是在本地保存一个boolean值,如果进入主页就修改boolean值 new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message msg) { ...
  • 一些应用软件可以在浏览器中点击一个url后自动启动,并执行操作。这是咋实现的呢? 我在 google了许多也找个博客说明。接照这些文档我也新手试了一下。 通过网站调用可执行程序,主要是修改注册表,注册 URL ...
  • Java加Ajax的web网页聊天室程序源代码

    热门讨论 2010-02-04 11:51:52
    直接导入MyEclipse中,发布启动Tomcat,即可运行!! 只是个简单的例子而已,希望能给大家带来帮助!! 你们下载了,我怎么积分都不加呢!?下不下对我都没影响,算了,说分高了,就不用下了啊!省的说哈!!
  • 好用哭了!8大开发员必备的网页应用程序

    千次阅读 多人点赞 2020-01-01 15:40:36
    今天,小芯给大家整理了日常工作中经常使用的网页应用程序,号称“开发人员必备的8大网页应用程序”,希望大家能有所收获。 1.Stack Exchange 如果只需要选择一个基本的网页应用程序,那就是StackExchange...
  • 从浏览器启动客户端程序的方法

    千次阅读 2013-11-22 13:42:51
    从浏览器启动客户端程序的方法,除了使用Asynchronous Pluggable Protocols协议来自定义协议触发程序外,还可以通过ActiveX控件的JavaScript方法来启动客户端,并且能传递参数或调用客户端程序的方法,就可以指挥...
  • 公众号菜单栏如何直接跳转小程序

    千次阅读 2020-07-13 23:18:01
    公众号菜单栏如何直接跳转小程序 有些朋友想在菜单栏设置一个接口直接跳转到小程序,那么如何设置呢? 打开网页用自己账号密码登录微信公众号,来到公众号首页。 在首页左侧的功能选项中选择自定义菜单,如果你没有...
  • 程序webview内网页实现微信支付

    千次阅读 热门讨论 2019-08-14 21:23:37
    程序支持webview以后,我们开发的好多h5页面,就可以直接在小程序里使用了,比如我们开发的微信商城,文章详情页,商品详情页,就可以开发一套,多处使用了。我们今天来讲一讲。在小程序的webview里实现微信支付...
  • 网页Web上调用本地应用程序(.exe)

    万次阅读 2017-02-15 23:28:53
    网页Web上调用本地应用程序(.exe)
  • Java程序打开指定网页

    千次阅读 2018-09-26 13:17:09
    有时在写程序时需要打开一个网页,那么如何调用浏览器打开指定网页呢? 很简单,只需使用Java库里的函数就可以实现了。   Runtime.getRuntime().exec("E:\\火狐\\firefox.exe "+url); //使用火狐打开...
  • Java之HTTP网络编程(下篇:网页浏览器程序设计)

    千次阅读 多人点赞 2021-01-06 11:24:40
    一、本篇简介 本篇记录Java之HTTP网络编程,定位于网页浏览器程序设计,与上篇TCP/SSL网页下载有所不同,接下来将实现通过URL进行网页的下载以及编程简易浏览器...上一篇通过TCP/SSL直接发送http请求的程序,对于复杂
  • 利用URL Protocol实现网页调用本地应用程序

    万次阅读 热门讨论 2014-05-14 20:20:08
    3)构造网页测试代码 然后构造一个最简单的测试页面进行调用测试,测试页面代码仅为一行,如下:   <a href="Webshell:hello">Wheshell 实际运行的演示效果如下所示:     时间: ...
  • wechat-小程序web-view与网页交互

    千次阅读 2018-10-26 15:29:04
    wechat-小程序web-view与网页交互. 官方api说明文档: https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html 前置物料 启动好一个网页服务. 比如: ...
  • 网页Web上调用本地应用程序

    千次阅读 2017-11-10 11:01:15
    浏览器在解析到自定义URL Protocol之后,会寻找注册表,然后通过注册表启动相应的程序,然后启动程序,传入参数。就好像是在浏览器可以打开迅雷类似。  1、先往注册表写信息。如下: [plain]

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 155,059
精华内容 62,023
关键字:

网页直接启动程序