GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
阅读:14104回复:28

Firefox 的启动程序 Run_FF.exe (2008/10/23 更新,增加2种情况)

楼主#
更多 发布于:2008-10-08 13:18
这是一个 Firefox 的启动程序,我以前在其它地方发表过,今天更新了一下。这个程序运行后,首先会检查Firefox是否已经运行,如果已经运行,就将已经运行的Firefox窗口调到最前面(如果已经隐藏到托盘区会显示,如果最小化到任务栏会还原),然后直接退出。如果Firefox没有运行,首先在当前目录下查找firefox.exe,如果没有找到,就到当前目录的firefox目录下查找firefox.exe。程序自动启用 -profile 参数,配置文件夹为firefox.exe的上一层目录的 profile 子目录(如果不存在,程序自动创建profile目录)。
这次的版本增加了对 -no-remote 参数的处理。如果指定了-no-remote 参数,并且已经运行的 Firefox 是其它版本的 Firefox,那么 Run_FF.exe 还会用 -no-remote 参数启动当前的这个 Firefox。如果当前的 Firefox 也已经启动了,那么就将当前的 Firefox 的主窗口调到最前面。

2008/10/23
允许 Run_FF.exe 以及配置文件夹 prifile 和 firefox.exe 放在同一个目录下。Run_FF.exe 首先会到自己所在的目录下查找 profile 目录,如果存在就使用这个配置文件。如果没有找到,就到另一个位置查找profile目录,如果找到,就使用这个配置文件夹,如果还没有找到,就在 firefox.exe 的上一层目录创建 profile 目录,并用它作为配置文件夹。
附件名称/大小 下载次数 最后更新
Run_FF.zip (37KB)  263 2008-10-23 16:57
jarol
小狐狸
小狐狸
  • UID26467
  • 注册日期2008-09-29
  • 最后登录2010-09-27
  • 发帖数13
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2008-10-08 13:18
相当实用的一个文件,很方便
试用了一下发现已经完美支持多实例同时运行了^_^
blackbat8
火狐狸
火狐狸
  • UID23712
  • 注册日期2008-04-16
  • 最后登录2011-12-29
  • 发帖数135
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2008-10-08 13:18
你的批处理原文是什么样的?
snm
snm
狐狸大王
狐狸大王
  • UID6188
  • 注册日期2005-05-20
  • 最后登录2018-07-26
  • 发帖数326
  • 经验69枚
  • 威望0点
  • 贡献值16点
  • 好评度1点
  • 社区居民
  • 忠实会员
3楼#
发布于:2008-10-08 13:18
^-^  谢谢!!
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
4楼#
发布于:2008-10-08 13:18
blackbat8:你的批处理原文是什么样的?回到原帖

程序的流程已经说的很清楚了,批处理只能简单启动程序,是不可能做到将隐藏改成显示,将最小化还原,以及将程序从后台调到前台这些动作的,这些动作必须写程序才能实现。
blackbat8
火狐狸
火狐狸
  • UID23712
  • 注册日期2008-04-16
  • 最后登录2011-12-29
  • 发帖数135
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2008-10-08 13:18
的却很好,但是在我的xp下图标有些锯齿。就这点遗憾。
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
6楼#
发布于:2008-10-08 13:18
GOLF-AT
程序的流程已经说的很清楚了,批处理只能简单启动程序,是不可能做到将隐藏改成显示,将最小化还原,以及将程序从后台调到前台这些动作的,这些动作必须写程序才能实现。
回到原帖


是用的VBS还是Autoit什么的?
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
点球射飞
火狐狸
火狐狸
  • UID24757
  • 注册日期2008-06-18
  • 最后登录2024-04-04
  • 发帖数168
  • 经验45枚
  • 威望0点
  • 贡献值24点
  • 好评度0点
  • 社区居民
  • 忠实会员
7楼#
发布于:2008-10-08 13:18
你好,请问用这个启动程序启动FF有什么好处吗
我看2楼的说完美实行多实例运行, FF本身不是就可以运行多个窗口的啊?
我的Firefox
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
8楼#
发布于:2008-10-08 13:18
kmc

是用的VBS还是Autoit什么的?
回到原帖

用 C 语言写的,调用一些 Windows API 函数。
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
9楼#
发布于:2008-10-08 13:18
点球射飞:你好,请问用这个启动程序启动FF有什么好处吗
我看2楼的说完美实行多实例运行, FF本身不是就可以运行多个窗口的啊?
回到原帖

它的作用我已经写得已经很清楚了。举2个实用的例子:
1) 如果Firefox已经运行,最小化到托盘区,并且小图标被Windows自动隐藏了,此时你可能不知道Firefox究竟是退出了还是被隐藏了。如果Firefox没有退出,你再次运行Firefox,只会再弹出一个空白的Firefox窗口。如果你不确定,那么你就要先点击Windows的图标显示所有托盘区图标,看看Firefox是否已经运行,如果已经运行了,需要双击Firefox图标,否则再启动Firefox。但是你运行我的这个程序,此时不管是退出还是被隐藏了,程序会帮你做该做的事情。你只要双击一次鼠标就可以了。
2)如果你运行了2个版本的Firefox(比如一个是2.0,另一个是3.x),你现在想要激活3.x的Firefox,那么无论从任务栏还是托盘区,都看不出来哪个是3.x的版本。你只有先激活其中的一个,看看它是哪个版本,如果不对,再激活另外一个Firefox。用我的程序,还是双击一次就可以了。

另外,你用快捷方式的话,如果你复制Firefox到U盘到其它机器上运行,那么驱动器盘符会改变(甚至目录也改变了),你必须要修改快捷方式。但是,你用我的这个程序,只要将整个firefox目录,profile目录以及Run_FF.exe一起复制到任何地方,直接运行Run_FF.exe都是可以的。
jarol
小狐狸
小狐狸
  • UID26467
  • 注册日期2008-09-29
  • 最后登录2010-09-27
  • 发帖数13
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
10楼#
发布于:2008-10-08 13:18
点球射飞:你好,请问用这个启动程序启动FF有什么好处吗
我看2楼的说完美实行多实例运行, FF本身不是就可以运行多个窗口的啊?
回到原帖

实用的不是多窗口而是可以不同版本同时运行,现在用Run_FF.exe测试新版方便了很多
点球射飞
火狐狸
火狐狸
  • UID24757
  • 注册日期2008-06-18
  • 最后登录2024-04-04
  • 发帖数168
  • 经验45枚
  • 威望0点
  • 贡献值24点
  • 好评度0点
  • 社区居民
  • 忠实会员
11楼#
发布于:2008-10-08 13:18
原来是这个用处啊,明白了 谢谢你的解答啊 感谢
我的Firefox
点球射飞
火狐狸
火狐狸
  • UID24757
  • 注册日期2008-06-18
  • 最后登录2024-04-04
  • 发帖数168
  • 经验45枚
  • 威望0点
  • 贡献值24点
  • 好评度0点
  • 社区居民
  • 忠实会员
12楼#
发布于:2008-10-08 13:18

它的作用我已经写得已经很清楚了。举2个实用的例子:
1) 如果Firefox已经运行,最小化到托盘区,并且小图标被Windows自动隐藏了,此时你可能不知道Firefox究竟是退出了还是被隐藏了。如果Firefox没有退出,你再次运行Firefox,只会再弹出一个空白的Firefox窗口。如果你不确定,那么你就要先点击Windows的图标显示所有托盘区图标,看看Firefox是否已经运行,如果已经运行了,需要双击Firefox图标,否则再启动Firefox。但是你运行我的这个程序,此时不管是退出还是被隐藏了,程序会帮你做该做的事情。你只要双击一次鼠标就可以了。
2)如果你运行了2个版本的Firefox(比如一个是2.0,另一个是3.x),你现在想要激活3.x的Firefox,那么无论从任务栏还是托盘区,都看不出来哪个是3.x的版本。你只有先激活其中的一个,看看它是哪个版本,如果不对,再激活另外一个Firefox。用我的程序,还是双击一次就可以了。

另外,你用快捷方式的话,如果你复制Firefox到U盘到其它机器上运行,那么驱动器盘符会改变(甚至目录也改变了),你必须要修改快捷方式。但是,你用我的这个程序,只要将整个firefox目录,profile目录以及Run_FF.exe一起复制到任何地方,直接运行Run_FF.exe都是可以的。


你好...谢谢你耐心的解释啊,现在很明白了.感谢.只是还有一个小小的疑问,
比如,我直接使用您的程序打开FF 然后扩展更新后,重启FF  有时会打开两个FF
不知道这是什么原因呢  PS 我只安装一个版本的FF
我的Firefox
潇声客
小狐狸
小狐狸
  • UID15035
  • 注册日期2006-10-18
  • 最后登录2009-05-17
  • 发帖数52
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
13楼#
发布于:2008-10-08 13:18
建议楼主把这程序做成快速启动FF.

FF冷启动(就是开电脑后第一次启动)还是比别的程序慢.
热启动(关闭后再启动)就感觉不到慢了.
还有如果是放到内存做的虚拟盘里,启动也是超快.
这说明读硬盘造成速度慢.好像FF对文件是用一点读一点,没有一次性读进去,于是就有大量延迟.
所以我觉得,楼主的程序如果先一次性把FF要读的文件先整个读到内存里,那就相当于已经冷启动过一次,内存里有了缓存.这样FF启动速度应该就跟热启动是差不多的.
可以用filemon或者processmoniter监控FF启动的时候大量反复读的是哪些文件.
潇声客
小狐狸
小狐狸
  • UID15035
  • 注册日期2006-10-18
  • 最后登录2009-05-17
  • 发帖数52
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
14楼#
发布于:2008-10-08 13:18
刚才用file monitor比了一下.chrome启动只有1千条记录.FF启动有4千条记录.而且我基本没装什么扩展,那些装扩展的估计更高.
光places.sqlite 这个文件的操作记录就有百多条.很多时候FF都是需要一点读一点,这样每次都要等磁盘的磁头转到那里,次数一多自然就慢了.
上一页
游客

返回顶部