[userChrome script]firelaunchy – 从firefox快速启动应用程序 - 20100930更新
idea是落日长河的,参见这里。
我这个脚本只是在firefox中提供一个类似于桌面启动程序launchy的输入条。

先总结一下落日长河的idea。
1. 这个方法依赖于采用win+r(呼出window中的“运行”窗口)启动应用程序,参考这里
- 首先任意建一个文件夹,比如我 e:\quickstart
- 然后把这个文件夹的路径添加到系统环境变量的path中,这样,这个文件夹就会被加入到命令的搜索路径中
- 然后把你想要快速启动的程序的快捷方式(名字最好修改成1到3个字母,简短易记的,比如firefox我叫ff)放到quickstart目录里
- 到这儿,就可以在“运行”窗口或者cmd下直接输入快捷方式来快速启动程序,比如敲ff->回车就可以启动firefox
这一步就是常说的win+r快速启动,如果想在firefox里直接启动这些程序,还需要做下面3步
2. 一个wscript脚本,用来模拟在命令行里输入命令并执行
On Error Resume Next
Dim SC, JS, WSH
Set SC = CreateObject("ScriptControl")
SC.Language = "JScript"
Set JS = sc.CodeObject
Set WSH = CreateObject("wscript.shell")
cmd = JS.decodeURI(wscript.arguments(0))
If Left(cmd,34)<>"exec://1234567890.central.firefox/" Then
WScript.Echo cmd & vbCRLF & vbCRLF & "拒绝执行"
Else
cmd = Ltrim(Mid(cmd,35))
WSH.Run cmd
If Err.Number<>0 Then
WScript.Echo cmd & vbCRLF & vbCRLF & "执行失败"
End If
End If
注意第9行蓝色部分,这个串是用来识别请求是从firefox来的。第4部分的脚本要用到。
exec是协议名,下面要讲,需要和注册表里注册的一样。
附件:exec
3. firefox还需要识别出用户输入的指令是要启动程序,并通过wscript脚本来执行。
通过下面这个注册表文件,把exec.vbs脚本注册为exec协议的处理函数,这样在firefox遇到exec://xxx这样url请求时,操作系统会通过exec.vbs来执行
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\exec] @="URL: Exec Protocol" "URL Protocol"="" [HKEY_CLASSES_ROOT\exec\shell] [HKEY_CLASSES_ROOT\exec\shell\open] [HKEY_CLASSES_ROOT\exec\shell\open\command] @="wscript.exe \"e:\\Program Files\\Firefox4\\utils\\firefoxshell\\exec.vbs\" %1"
第9行(e:\\Program Files\\Firefox4\\utils\\firefoxshell\\exec.vbs)是上面说的wscript脚本的存放路径,可以修改成自己本地的真实路径。
注意exec.vbs后面的\别忘了,这个是用来转义”的。
附件:firefox_shell 第9行一定要修改成你自己的
4. 落日长河原文是通过书签用地址栏来获得用户输入,一个缺点是需要多输入一个书签的key,下面这个脚本提供一个独立的输入框,直接输入要启动的命令就可以启动程序。

脚本41行, 这个串要和第2部分vbs脚本里的一致。
const launchURLPrefix = "exec://1234567890.central.firefox/";
现在提供下载的是一个简单的版本,只提供了一个用户接口。还有一个复杂点的版本,输入时带匹配提示的,比如你现在有v,vi,vis 这3个命令,输入v时会像地址栏的提示一样把这三个都提示出来。但是目前还有点问题。。。
——————————————————————————————————————————-
另一方面,相反的,当firefox还没有运行时,你可能非常想打开一些网页,这时候如果已经通过第1部分讲的内容将firefox的快捷方式加入到了quickstart目录里,可以直接用win+r命令呼出“运行”输入框,输入
firefox url1 url2 url3
就可以直接启动firefox并打开这些网页。
related post
- [userChrome script]flybar - 居中地址栏和搜索框 (扩展版 - flybar)
- pentadactyl试用记
- [KeySnail]编辑模式下使用可输入字符作为快捷键
- Tab Kit - tab相关的一些小脚本 for firefox4
- [uc]sideBookmarkBar for firefox4


这个的确很geek。但是定位到地址栏要按alt+d(或者xul脚本里的alt+r),貌似和直接用win+r的按键次数是一样的。
呵呵,是的。
我想落日长河原来的初衷可能就只是想从浏览器里直接启动程序,不是为了节省按键次数图方便。。。
记得好几年前,那会儿刚玩firefox,也曾经想找这样的一个办法。那时就希望一切常用操作和功能都可以在firefox里实现。装了一堆像ftp、记事本、闹钟这种插件,甚至还考虑用firefox来作文件管理器。。。
不过,我始终认为浏览器未来发展的趋势就是操作系统化,浏览器会成为唯一的用户接口。而应用程序都是web化,基于云的,通过浏览器来操作。额,扯远了
嗯,有道理。不用离开浏览器就能完成一切操作,的确是个有意思的想法,话说Emacs好像就是那个样子的。
哇,这才知道mozest有这么个帖子。
另外为什么不把把应用程序的快捷方式放到任务栏的快速启动栏,直接按 win+number 就ok了。
呵呵,其实这个没有好坏之分,只有喜好的区别。
我个人喜欢把东西都隐藏起来,用命令行,而且我的快捷方式太多,启动栏都放不下。。。额
ps: xp下好像win+number还不能用
喔,我是vista。没考虑其他的window。
对了,楼主考虑考虑能不能来我这里写东西呀?
不用定期的也可以,扩充扩充我的缓存…
都是为了Firefox
我晕。目前我这个站都没什么时间更新。。。
以后我要有什么好想法不适合放我这而适合放你那的就写你那。。。
以后多交流^_^
喜欢这种新鲜事物,谢谢Xiao Shan分享。呵呵,你的网站终于有Favicon.
呵呵,谢谢
Favicon不错。
楼主既然是用wp的,为什么不用代码插件呢?
您这里好多的代码,应该是需要的.
楼主博客很有技术含量,好多都不看不太懂.高人一个
用了代码插件了呀,不过有时加载慢可能没显示出来。仍然谢了
不敢当,我也是抱着学习交流的态度,有空多留言啊^_^
那个输入条怎么调用出来啊
alt+R