在工作中,我依赖基于 Flash 的管理工具。传统上,此工具托管在 Web 服务器上,但自从 Flash 消亡后,拥有该工具的公司将其与 Adobe Air 打包在一起,以便可以在本地安装。我习惯于打开书签来打开该工具,但现在我必须从开始菜单中打开它。
如果我可以有一个书签来启动该工具的本地 Air 打包副本,那就太方便了。这可能吗?我尝试创建这样的书签:
file://C:/path/to/tool.exe
...但它试图下载它。
有没有办法让 Chrome 书签执行 Windows 程序?
答案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\""
- 将以下内容复制到 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% }
- 通过使用以下方式编译转换
appurl.ahk
为appurl.exe
编译器包含在 AHK 中。 - 移至。
.exe
C:\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
您也可以将其保存为书签。
答案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