Chrome 书签可以执行 Windows 程序吗?

Chrome 书签可以执行 Windows 程序吗?

在工作中,我依赖基于 Flash 的管理工具。传统上,此工具托管在 Web 服务器上,但自从 Flash 消亡后,拥有该工具的公司将其与 Adob​​e Air 打包在一起,以便可以在本地安装。我习惯于打开书签来打开该工具,但现在我必须从开始菜单中打开它。

如果我可以有一个书签来启动该工具的本地 Air 打包副本,那就太方便了。这可能吗?我尝试创建这样的书签:

file://C:/path/to/tool.exe

...但它试图下载它。

有没有办法让 Chrome 书签执行 Windows 程序?

答案1

您可以使用自动热键去做这个:

  1. 将以下内容复制到appurl.reg文件中并运行。
    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\appurl]
    @="URL:AutoHotKey AppURL Protocol"
    "URL Protocol"=""
    
    [HKEY_CLASSES_ROOT\appurl\DefaultIcon]
    @="appurl.exe,1"
    
    [HKEY_CLASSES_ROOT\appurl\shell]
    
    [HKEY_CLASSES_ROOT\appurl\shell\open]
    
    [HKEY_CLASSES_ROOT\appurl\shell\open\command]
    @="\"C:\\Program Files\\AutoHotKeyAppURL\\appurl.exe\" \"%1\""
    
  2. 将以下内容复制到 appurl.ahk 文件中并保存。
    ; Application URL v1.0 by Jeff Sherk
    ;
    ; Will run a program that you pass in as a parameter (command line argument).
    ; Specifically created to be used with URL Protocol appurl://
    ;
    ; EXAMPLE:
    ;  You can type appurl://path/to/myapp.exe in the address bar of your browser to launch the application
    ;
    ; See these threads:
    ;  http://www.autohotkey.com/forum/viewtopic.php?p=477917
    ;  http://www.autohotkey.com/forum/viewtopic.php?t=76997
    ;  http://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx
    ;  http://stackoverflow.com/questions/2330545/is-it-possible-to-open-custom-url-scheme-with-google-chrome
    ;
    ; Requires adding the following Registry Entry to work. You can copy and paste whats between the dashed lines
    ;  into a file called: appurl.reg  Just remember to remove all the semi-colons; at the beginning of the lines.
    ;-------------------------------------------------------------------
    ;Windows Registry Editor Version 5.00
    
    ;[HKEY_CLASSES_ROOT\appurl]
    ;@="URL:AutoHotKey AppURL Protocol"
    ;"URL Protocol"=""
    
    ;[HKEY_CLASSES_ROOT\appurl\DefaultIcon]
    ;@="appurl.exe,1"
    
    ;[HKEY_CLASSES_ROOT\appurl\shell]
    
    ;[HKEY_CLASSES_ROOT\appurl\shell\open]
    
    ;[HKEY_CLASSES_ROOT\appurl\shell\open\command]
    ;@="\"C:\\Program Files\\AutoHotKeyAppURL\\appurl.exe\" \"%1\""
    ;-------------------------------------------------------------------
    
    if 0 != 1 ;Check %0% to see how many parameters were passed in
    {
        msgbox ERROR: There are %0% parameters. There should be 1 parameter exactly.
    }
    else
    {
        param = %1%  ;Fetch the contents of the command line argument
    
        appurl := "appurl://" ; This should be the URL Protocol that you registered in the Windows Registry
    
        IfInString, param, %appurl%
        {
            arglen := StrLen(param) ;Length of entire argument
            applen := StrLen(appurl) ;Length of appurl
            len := arglen - applen ;Length of argument less appurl
            StringRight, param, param, len ; Remove appurl portion from the beginning of parameter
        }
    
        Run, %param%
    
    }
    
  3. 通过使用以下方式编译转换appurl.ahkappurl.exe编译器包含在 AHK 中
  4. 移至。.exeC:\Program Files\AutoHotKeyAppURL

现在,您可以通过在地址栏中输入以下内容来启动任何程序appurl://path/to/myapp

例子:

appurl://C:/WINDOWS/system32/notepad.exe

编辑:为了支持包含空格的路径,请file:///在文件路径前添加:

appurl://file:///C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

您也可以将其保存为书签。

来源: 应用程序 URL - 从浏览器启动本地应用程序

答案2

好文章,谢谢

我正在用它来运行 pdf 编辑器,我需要添加另一个参数。

我遇到了一些问题,但不清楚问题是否只出现在 ahk 上,还是也出现在 url 上

我使用版本 1 进行编译

我需要运行类似这样的程序

appurl://file:///C:\myapps\appurl.exe c:\myapp\n++\notepad++.exe 我的文件带有 space.txt

使用你的代码我可以打开 notepad++.exe 但无法添加新参数

appurl.exe 报告 1 个参数,因为 url 没有空格,但有 %20

参数的消息框显示此文件:///C:%5myapps%5Cnotepad++.exe%20%22C:%5CTEMP%5Cmy%0file%20with%20 space.txt

相关内容