日志分类:windows软件

开始用Launchy替代hoekey和win+run

2011-12-21 11:02| 分类:windows windows软件| 11,893 次点击

之所以一直用着XP,没想过其他操作系统,是因为通过各种小软件和快捷键,基本上不用去管操作系统本身的UI和UE,很容易的就能实现运行程序和切换程序,操作系统也就变得“后台化”了。

但巧合还是让我在新电脑上用上了win7,已经切换到win7一个月了,我用了几年的F1启动运行窗口再输入字符启动程序的功能不能用了。

后来检查了下,hoekey配置文件都没问题,但是hoekey不能实现在win7下定位文件夹,不管怎么写RunDialog,都是定位到C盘根目录下,我一时也没去找新版的hoekey,于是寻找能代替hoekey和win+run启动方式的软件。

Launchy我很早的时候就听过,但是一直不愿意试,感觉不如win+run的启动方式简洁(虽然窗口很难看也不智能,但毕竟原生的),但看了小众软件留言中 autoxbc的这段话后我打算试一下:

“Launchy 有自学习能力,在模糊检索后记住你为软件起的简称,这个过程还不用改配置文件。

Win + R 你能记住几个?用 Launchy 用户和软件在相互学习,而且没有梯度,我可以轻松管理 600+ 各种快捷方式和定制过的有复杂功能的快捷方式。

everything 也是一样,检索和 Launchy 持平,学习能力没有。”

我回想起来自己用Win + R,还真只用非常少但频率很高的那几个,90%的快捷方式建立后再没有用过,还是用最基本的鼠标点击快捷方式来启动。而Launchy如果有学习的能力,就可能可以成为我绝大多数软件的启动方式。

我是从官网下的,但一启动就是中文版(好像官网放的就是已经汉化的版本)。没想到第一眼就迷上了,一样非常简洁,而且没有任何延迟,就连默认的Alt+Space呼出也比我自己用hoekey设定的F1呼出来得优雅(双手可以不离开键盘就启动程序,而F1离主键盘来得远一些),而且很容易设置,直接添加一下QuickStart文件夹目录,再添加一下.lnk文件类型就可以了,原来的那些快捷方式就全都在了。

Launchy相比win+run,优点有很多,比如更智能,有icon展示,可自定义快捷方式文件夹(不需要再借助hoekey或autohotkey了),可自定义皮肤,还可用插件(我还没用上),但我以前从来没想过尝试,因为一直觉得win+run已经够好了。这种心理用到产品设计上可以理解为:最核心的功能满足了,人们不太愿意为了一小点的体验改善而去更换产品,除非,你能在某一点上再打动他一次。

Chrome+AutoHotkey实现快捷键切换到webqq

2009-09-20 16:33| 分类:Internet windows软件| 标签: | 5,112 次点击

刚才使用了chrome下的webqq,感觉挺满意的,可以在一个浏览器窗口打开多个聊天窗口,这样子就可以同时处理几个人/群的qq消息了,而且不会有新闻弹出等打扰工作的行为了。于是打算用webqq代替常用的softqq,首先为webqq创建了一个chrome快捷方式。但如何快速切换到webqq上呢(就像用ctrl+alt+z读取qq消息一样)?

要实现的Geek任务:Alt+Tab+Q切换到WebQQ界面,去读取QQ消息。

实现过程:

我以前写的《AutoHotkey打造的史上最强的Alt+Tab脚本快捷键切换任务》提到可以用AltTab.ahk这个ahk脚本实现快速切换任务。不过前提是任务的title要是英文的,于是先从webqq的title入手。

经过我设置后的webqq的默认title是“消息盒子 – QQ号码”,因为是title是中文开头,所以不能用ALT+Tab切换,我在写《AutoHotkey打造的史上最强的Alt+Tab脚本快捷键切换任务》教程时曾写过一个SetTitle.ahk,而且一直运行在后台(在写了那几篇教程之后我再没改过这个文件,有半年多了),所以现在在这个脚本里加一句:

WinSetTitle,  消息盒子, ,QQ

保存,然后Reload this script。即可,以后一旦按下alt+tab,因为webqq的标题中带有“消息盒子”,所以title就会变成“QQ”,即SetTitle.ahk改变了webqq的默认title。以后即可用Alt+Tab+Q来切换到webqq界面,就像我之前设置的Alt+Tab+G可以切换到Gmail界面一样。

附,我目前的settitle.ahk代码:

#Persistent
DetectHiddenWindows, on
SetTitleMatchMode, 2
!Tab::
WinGetTitle, Title, ahk_class Notepad
newtitle=%Title%
IfInString, newtitle, Notepad
{
StringTrimRight, OutputVar,newtitle,10  ;去掉原有title后面的 – notepad共计10个字,输出为OutputVar
WinSetTitle,  ahk_class Notepad, , Note – %OutputVar%
}

WinSetTitle,  ahk_class XFrame_Wnd, , S世界之窗
WinSetTitle,  Windows Live Writer, ,Writer  ;20090920更新,writer的类名早就变了,所以用标题来匹配
WinSetTitle,  Gmail, ,Gmail
WinSetTitle,  Analytics, ,Analytics
WinSetTitle,  谷歌浏览器, ,Chrome
WinSetTitle,  消息盒子, ,QQ

;WinGetTitle, Title, ahk_class Chrome  ;先取得chrome的title
;newtitle2=%Title%           
;IfNotInString, newtitle2, Gmail        ;如果title中没有Gmail字符,才进行title转换,否则仍然是Gmail,不进行转换。
;{
;WinSetTitle,  谷歌浏览器, ,Chrome
;}

Send {Alt down}{tab}

 

webqq目前还有个缺陷——无法定义单个群消息是否接收,只能全部接收或者全不接收,而我基本上只看一个工作的群,于是在webqq里打开了这个群,当有声音提醒时就用快捷键切换过去,状态栏那边没有qq的图标了,感觉爽了很多!把qq等同于一个普通的chrome应用程序来看,操作一体化,使用起来比原来的qq方便多了,逻辑上也说得过去。chrome OS无形中成形了!

另外,因为不用QQ软件了,所以就不能再用QQ的那个截图功能了,于是用上了善用佳软介绍的PicPick,把ctrl+alt+a的快捷键设置为PicPick的矩形截图快捷键。现在的效果如下:

alt+tab

 

Win7对我实在没什么吸引力,因为我的shell都不是explorer,而是bblean,文件管理器也不是资源管理器,而是total commander,而且我正努力地去掉对任务栏的依赖。随着各家大公司对web标准的支持越来越好,chrome快捷方式的适用范围也越来越广,web应用在chrome强大的v8 javscript解析引擎的支持下,越来越像都像一个个单独的本地应用。直接作用于windows底层的应用越来越少,windows具体是哪个版本也越来越不重要,反倒是chrome是不是最新的,是不是最好的才更重要,chrome OS或许已经来了。

AutoHotkey打造的史上最强的Alt+Tab脚本快捷键切换任务

2009-01-18 15:02| 分类:tech windows软件| 标签: | 13,523 次点击

上次心血来潮又写了一篇关于快速切换任务的博文,有访客留言讨论,虽然最终没能得出一个满意的方案,但触发了我的灵感——最迅速的切换任务方式应该是类似于Total Comander那样用几个快捷键组合来切换程序。

那篇博文里用Hoekey+Taskswichxp实现快捷键切换任务的方式并不正规,属于歪门邪道,而且还要对所有可能运行的程序进行配置,非常繁琐。我本来的目标是能够不使用任务栏,但最终任务栏还是没能去掉,仍然在那。所以以hoekey作为入口点是不对的,于是想到用比hoekey强大百倍的AutoHotkey来实现。这几天在厦门落脚了,这套房子里暂时还没有网络,于是今天就想好好的学学AutoHotkey,看看能否实现。

我现在用着一个阮一峰推荐过的AHK脚本——Favmenu,这个脚本就是模仿TC中切换文件夹的操作,正是这个脚本的强大让我相信AHK能实现我所需的功能。但看着AutoHotkey.chm密密麻麻的帮助,就没了兴致,想找找看有无其他已经做好的实用脚本可以用得上。后来看到AutoHotkey文件夹下有一个未解压的“AutoHotKey懒人包@appinn.com.7z”,点进去看看,居然有一个“AltTab.ahk”,看了介绍感觉这正是我一直要找的东西!

这个脚本是替换自带的Alt+Tab,我看到了以下几个功能:

1、替换掉系统的 Alt + Tab 功能。
2、Alt + Tab 之后,按住 alt,输入程序首字母可以快速选择到程序。
3、在右键菜单中还可以对程序设定呼出热键。
4、在右键菜单中可以结束进程。

而第二点正是我一直要寻找的功能。立即试用了一下,发现了一些不足:

1、当标题开头是中文时,无法通过快捷键切换任务。
2、列出所有任务,不像taskswitchXP那样可以排除一些任务。

但不管怎样,我还是很满意的,而且这是AHK脚本,等下我可以自己修改成适合自己的。倒没有相见恨晚的感觉,我是到前段时间才悟出可以不需要任务栏的,要是之前看到这个AHK脚本,只会觉得很普通,没什么用的,只有等到自己发现了,需要了,再去找到这个东西,才会欣喜若狂。(确实最近很着迷快速切换程序,本来还抱怨没有网络,不然就可以写信或留言给阮一峰,问问他是否有兴趣写一个AHK切换任务的脚本)

随着电脑配置越来越高,任务列表实际上早就应该按文件夹的方式——竖向排列了。微软在win7里面也意识到了任务逐渐增多,但因为习惯考虑,还是采用任务栏横向排列的方式,但他强化了用icons来识别,这样就节省了很多任务栏的空间。但有多个notepad程序时就不是那么好辨认了,所以还是用竖向任务列表比较合理。

接下来探讨这个AHK如何改进,现在写下思路:

1、因为标题中可能有中文,这时就无法切换,而进程只有英文的,可否用进程名来识别切换呢?不能,那样的话chrome创建的Gmail、Adsense等程序都是一样的进程,切换起来得按很多次了。

2、可否增加一个选项,松开ALT的时候列表窗口不消失,切换到那个程序时才消失,就像Total Commander的Ctrl+D一样?也不行,因为除了要用快捷键切换任务,Alt+Tab同时还担任着在两个任务间切换,所以如果不消失的话在两个任务间切换就比较麻烦了。

3、可否自己更改目前的这个脚本来实现排除一些任务?不用了,我在这个AHK的代码中看到作者在“TO DO”中写道:include a filter for docked windows to be displayed in alt-tab 。看来作者有可能在下个版本中就加上这个排除功能,现在只需等版本更新。

4、既然标题可能有中文,那能否用软件把所有程序的标题都改为英文的?我找了找,确实有这样的软件,但要么是如同窗口魔术师(g-WinOperator)这种只能临时更改标题的,要么是用Ultra编辑器编辑文件来实现,非常麻烦。所以也放弃。

5、既然无法用软件更改标题,那么这个AHK脚本的下个版本有没有可能加上重命名标题的功能(就像这里提到的)?不太可能,因为作者用英文,在全英文环境下可以很方便地切换,就不太可能为中文用户制作出可自定义窗口名的功能。

最终决定自己写个AHK,用这个AHK动态更改标题(即每次按下Alt+Tab时就把标题改为英文的),使之可以与Alt+Tab的那个AHK脚本配合,实现用字母切换任何程序。现在写下这个脚本的制作过程:(如不想了解可直接下载最后一段中的AHK脚本使用)

第一步:取自WinSetTitle中的例子——更改一个新的notepad文件标题为“This is a new title”,加个#Persistent让这个AHK一直运行,而不是运行一次就退出。

#Persistent
DetectHiddenWindows, on
!Tab::
WinSetTitle, Untitled – Notepad, , This is a new title
Send {Alt down}{tab}

加一句Send {Alt down}{tab},即可实现按住Alt+Tab时可在更改标题的同时实现Alt+Tab切换效果。但这时只对标题中有“Untitled – Notepad”的任务生效,于是想用正则来实现规则,在AutoHotkey.chm中文版中搜索“正则”,可以看到在SetTitleMatchMode中有说明,默认是打开模糊匹配(1)的,但必须是以字符开头的,而我是结尾的,所以直接去掉“Untitled”还是不行的,还必须把需要SetTitleMatchMode改成2。见如下:

#Persistent
DetectHiddenWindows, on
SetTitleMatchMode, 2
!Tab::
WinSetTitle,  – Notepad, , This is a new title
Send {Alt down}{tab}

但这时不能更改未被激活的程序标题,所以还必须打开DetectHiddenWindows功能,设置DetectHiddenWindows, On

第二步:因为notepad用标题来识别不方便,所以直接改为用类名来识别。

#Persistent
DetectHiddenWindows, on
SetTitleMatchMode, 2
DetectHiddenWindows, On
!Tab::
WinSetTitle,  ahk_class Notepad, , notepad
Send {Alt down}{tab}

但这样子notepad改后的所有标题都是notepad,没法识别,所以还得传递标题值,我想到一个WinGetTitle函数。

#Persistent
DetectHiddenWindows, on
SetTitleMatchMode, 2
DetectHiddenWindows, On
!Tab::
WinGetTitle, Title, ahk_class Notepad
WinSetTitle,  ahk_class Notepad, , Notepad – "%Title%"
Send {Alt down}{tab}

但这样子标题会越拖越长,所以每次就取最后一段(十个字),这样就不会变长了。这属于字符串处理了,于是在chm里搜索“字符串 处理”,可找到用StringLeft来处理:

#Persistent
DetectHiddenWindows, on
SetTitleMatchMode, 2
DetectHiddenWindows, On
!Tab::
WinGetTitle, Title, ahk_class Notepad
newtitle=%Title%
StringLeft, OutputVar,newtitle,6
WinSetTitle,  ahk_class Notepad, , Notepad – %OutputVar%
Send {Alt down}{tab}

这样子也不行,最终标题都会变得一样,从最后一个开始选取或者后面第N个开始选取字符串也不行。从后面第N个(比如notepad是第10个)开始选取,再加一行notepad.exe也不行。如果用另外的方法,先把notepad取出来,再把余下的字符串加到尾巴上去,就可以了!!但没看到有这个函数。

尾巴上加一个notepad形成首尾对称(如下)也不行。

#Persistent
DetectHiddenWindows, on
SetTitleMatchMode, 2
DetectHiddenWindows, On
!Tab::
WinGetTitle, Title, ahk_class Notepad
newtitle=%Title%
StringTrimRight, OutputVar,newtitle,10
WinSetTitle,  ahk_class Notepad, , Notepad – %OutputVar% – Notepad
Send {Alt down}{tab}   

看来只能用判断语句了,如下

#Persistent
DetectHiddenWindows, on
SetTitleMatchMode, 2
DetectHiddenWindows, On
!Tab::
WinGetTitle, Title, ahk_class Notepad
newtitle=%Title%
IfInString, newtitle, Notepad
{
StringTrimRight, OutputVar,newtitle,10  ;去掉原有title后面的 – notepad共计10个字,输出为OutputVar
WinSetTitle,  ahk_class Notepad, , Note – %OutputVar%
}
Send {Alt down}{tab}   

至此,已经可以实现notepad的标题前后对调。

现在加上chrome和TW的,这两个程序不需要判断,直接设置标题为chrome和“S世界之窗”(TW和TC都以T开头,所以用S世界之窗,以S开头):

(不知道为何chrome的用“WinSetTitle,  ahk_class Chrome_WidgetWin_0, ,Chrome ”不行,所以用标题判断。)

最终代码:

#Persistent
DetectHiddenWindows, on
SetTitleMatchMode, 2
!Tab::
WinGetTitle, Title, ahk_class Notepad
newtitle=%Title%
IfInString, newtitle, Notepad
{
StringTrimRight, OutputVar,newtitle,10  ;去掉原有title后面的 – notepad共计10个字,输出为OutputVar
WinSetTitle,  ahk_class Notepad, , Note – %OutputVar%
}

WinSetTitle,  ahk_class XFrame_Wnd, , S世界之窗
WinSetTitle,  谷歌浏览器, ,Chrome
WinSetTitle,  ahk_class WindowsForms10.Window.8.app.0.33c0d9d, ,Writer

Send {Alt down}{tab}

效果如图:

image

总算是完全实现了我预期的设想。

用hoekey+taskswitchXP实现快捷键快速切换任务

2009-01-08 21:07| 分类:windows windows软件| 标签: | 6,962 次点击

一、灵感的来源:

昨天看到博客上的一个留言,jasonzhao网友提到:

“taskswitchXP不是你想象的那么弱的。它可以快速定位到任何一个你想要的程序, 还有其它功能,比你匆匆一瞥 要牛鼻多了 (反而是它的预览我完全不用), 也比你这个文章里做的结果牛鼻。 而且还是opensource ,只是可惜作者2年不更新了。 但是其实代码稍微改改就非常强大。”

看到“taskswitchXP可以快速定位到任何一个你想要的程序”,我突然想到其实任务栏也可以隐藏起来不用,不是吗?直接用快捷键切换任务。我继续联想到刚刚给弟弟的电脑远程控制,他的电脑上似乎就没有任务栏。反正你关注的只是当前的任务。

为了让自己专心,我去掉了Google Desktop侧边栏,为了再专心点,我又去掉了任务栏左侧的快速启动栏,为了不被任务栏右侧的状态栏的消息打扰,我又用PS Tray Factory去掉了状态栏。为了不要掉“开始”按钮,我甚至用BBlean替换掉Explorer(当然还有Explorer太慢的原因)。现在电脑上只有一条任务栏在上面,右侧仅显示时间,桌面一直是全黑的与显示器边框一样(所以传出微软要黑屏的消息时我一点也不担心,黑吧黑吧,我本来就是黑的)。

人的大脑其实是单cpu单线程的,我一直都是个很容易开小差的人,所以很怕有什么东西打乱了我的思路,所以我觉得每个时候只要有一个窗口展现在我眼前就行了,不需要其他任务的状态(比如任务栏上的任务、Firefox的下载状态)。

所以我现在多了一个追求——去掉任务栏,用快捷键切换任务。

二、灵感产生的追溯(为何会产生这个灵感):

虽然这个灵感水平不怎么样,但灵感产生的前提是:你一直都在想一个问题,只是想不出来,于是先丢一边,后来又有人提起,才突然想起了这个问题更好的解决办法。能因jasonzhao网友的一句话而想到这个方式,必然也是有原因的,其他人看到这句话可不会有这么多的想法。

其实我以前也曾考虑过用strokeit+hoekey+PodXP实现鼠标手势和热键快速切换任务栏任务,或者用AutoHotkey+Hoekey+PodXP实现快捷键切换任务栏中的程序,但当时的立足点是“纯粹用鼠标”,或者“纯粹用键盘”,并不是立足于“迅速”,虽然最终也实现了想要的效果,但操作感觉并不怎么样(慢啊),所以就不再往那条路上摸索。再后来换成了BBlean shell,就基本放弃了热键切换任务或者手势切换任务的追求。而这次由网友的留言重新引发起探索的激情。

三、实现灵感的必要性:

现在的任务栏在上方,超出了我的视线之外(视线是平行于屏幕中间的),几乎不会吸引我的眼光,所以我倒不会因为任务栏分心。但从切换的速度上,效率可是非常低的。原因如下:

首先是Icons难认,鼠标老点错:

我是用任务栏上的icons识别程序的,可惜各个程序的Icons常常更换,不容易辨别。比如chrome的Icon是自己的那个三色图标image ,chrome创建的Analytics图标是Analytics自己的Iconimage ,这两个不会弄错,而chrome创建的Gmail和Adsense的快捷方式的Icon却是一个蓝色的小g图标image ,这个图标在黑色的背景下几乎看不到,害得我常常找不到Gmail任务何在,点几次才点到Gmail。另外windows live writer最近更新,又换了一个莫名其妙的image 图标,也总是让我在任务栏里迷失方向。

怪不得win7的任务栏默认没有文字而只有大大的icons,原来就是强化icons的视觉感受。

其次是鼠标需要移动的范围太大:

BBlean也可以像win7那样只用Icons展现的方式展现任务,并且可调大小,可是我却很不习惯,虽然鼠标这样移动的范围就少了,但都挤在一个角落,另外一边的空间都浪费了。

有人可能会问,既然连任务栏都可以去掉,而且操作速度还可以加快,那么微软为何要有占用那么多的空间来放状态栏任务栏等等呢?

我觉得,直观,必然与速度相冲突,越直观易用,操作速度就越慢。微软创造出那些“状态栏、任务栏、快速启动栏、开始菜单”虽然直观了,但操作速度却变慢了。这些所谓的“栏”上的任务或程序,其实只需要一个标识就可以互相切换。这个标识可以是类似与TC中的文件夹首字母——即程序或任务首字母,也可以是自定义的数字。然后用Ctrl或Win+1、2、3、4来切换。

不过微软虽然不像我们这样重视操作的超便捷性,但他明白以后的电脑必然是速度快到分不清是刚启动还是切换到那个程序,所以windows7取消了快速启动栏——“启动”与“切换到”没有区别,可以看出微软在可弱化两者的概念区别。

总之,实现用快捷键切换任务,是有实际应用价值的,对我来说,很有必要。

四、实施第一步(快捷键切换任务):

本来我是想找“快捷键切换任务的软件”,但在Google和百度上搜索“快捷键切换任务”却是自己的文章——AutoHotkey+Hoekey+PodXP实现快捷键切换任务栏中的程序,看来并无多少这样的软件,于是想到干脆不用特别的软件,而用强大的hoekey一个个配置,让每个快捷键对应一个任务。

可是纵观键盘上的快捷键,很多都已经被占用,于是打算用ctrl+1、2、3这样的来切换,最终hoekey配置如下:

^1=Show|TTOTAL_CMD ;
^2=Show|XFrame_Wnd ;
^3=Show|Chrome_XPFrame ;
^4=Show|WindowsForms10.Window.8.app.0.33c0d9d ;

这样按住ctrl+1可以切换到tc,按住ctrl+2可以切换到tw,以此类推。为何选择ctrl而不是其他的键呢?因为我原本是想在打字时就可以不移动手掌切换任务,所以用ctrl键比较方便,但后来看到易名网友的另一个留言(看到后我才发觉原来我的博客上早就有人提出用这个方法切换任务了,只是我当时一根筋没注意到):

“我现在可以用StrokeIt来实现用鼠标轮切换程序,也可以用热键来切换程序,比如用WIN+1切换到第一个,WIN+2切换到第二个……如果用顺序选择的话,则不如用Win+TAB继续按TAB来选择。当然,如果切换到Ctrl+,或.来选择也可以。实现上述问题的办法,就是从HOTKEYP上着手的。”

留言中提到的是用win键而不是ctrl键,于是我也考虑了一下win键的可行性:其实并不需要把手指固定在asdf那些键上,实际上我在操作时也只是打字的时候固定在那里。更多的时候两手都有小动作,比如我在写这篇文章时基本上是每句完就按一下ctrl+s,即把手指都移开了。所以不需要用Ctrl这个键。于是我又加了一组hoekey配置:

~1=Show|TTOTAL_CMD ;
~2=Show|XFrame_Wnd ;
~3=Show|Chrome_XPFrame ;
~4=Show|WindowsForms10.Window.8.app.0.33c0d9d ;

不过这样子不能用win+小键盘上的数字来实现切换,不知为何。

后来又考虑到我从来不用快捷键打开菜单栏上的菜单,都是用鼠标直接点击,而Alt在windows系统中都是用来点击菜单栏上的菜单的,既然我不用,那么这个Alt就可以用来做切换任务的快捷键。我又加了一组hoekey设置:

@t=Show|TTOTAL_CMD ;
@x=Show|XFrame_Wnd ;
@c=Show|Chrome_XPFrame ;
@w=Show|WindowsForms10.Window.8.app.0.33c0d9d ;
@f=Show|MozillaUIWindowClass
@u=Show|Afx:00400000:8:00010011:00000000:00DA06C7

这样就可以实现用Alt+字母快速切换任务了。

但要注意,这样子只是激活任务,并没有让任务窗口最大化,所以如果任务被最小化的话,用hoekey切换时。虽然可以在hoekey里面再加一句让任务最大化,但我认为没有必要——实际上我的桌面是全黑的,完全不用到桌面,最小化就没有必要了。如果人要离开,可按下F10关闭桌面(这里用到了Nircmd软件),或者按下win+L锁定桌面。(不知道有没有软件能实现锁定桌面的同时关闭桌面?)

五、实施第二步(隐藏任务栏):

因为开头时jasonzhao网友提到的“taskswitchXP可以快速定位到任何一个你想要的程序”,我有点怀疑,于是发邮件询问,jasonzhao给出了一个设想:

“把所有的单个字母的按键快捷都去掉,改成,和TC一样的功能,按下字母(一个或者连续几个),跳到对应的以这个字母(一个或者连续几个)开头的task那儿。”

把TC的快捷切换文件夹的思想用到快捷切换任务的操作上,我之前都没有想到,不过想来应该很好用。比如用Alt+D,调出任务列表,然后点一个字母跳到这个字母开头的程序并激活,这样跟TC的文件夹跳转或磁盘跳转(我磁盘跳转用的也是Alt+D快捷键)就非常像了。但目前TaskSwitchXP还没有此功能,只能用数字键来快速跳转到所需要的程序,比如用ctrl+space调出任务列表,然后按8跳转到第八个程序,意义不大。

不过当配置TaskSwitchXP时,看到有个排除列表的功能,于是我又想到了一点——可以不用去管任务栏上任务的顺序(任务栏的顺序在用Alt+Tab切换时有用,但我已经证明Alt+Tab的方法可行性不高,并且任务很多的时候速度也不快),甚至可以把不需要的任务在任务栏那隐藏起来。或者,直接不用任务栏(任务栏上的任务似乎也没法隐藏),用一个新的东西代替,比如这里的Taskswichxp的任务列表。

用Taskswichxp替代任务栏(BBleanbar),并把常驻程序在Taskswichxp的任务列表中隐藏起来,这样切换时就只有几个程序,切换也就快一些。而切换tc、ff、tw、writer这种常用程序直接用第一步所设置的快捷键也非常快。

于是我把tc、ff、tw、writer、chrome排除在任务列表,然后隐藏起任务栏,即实现了刚开始的想法。现在还有一个问题,就是如果在Taskswichxp那排除了chrome.exe,则chrome创建的快捷方式比如Gmail、Adsense,也都被排除了,而用Alt+C想切换到chrome时却可能切换到Gmail或者Adsense上,暂时没有解决办法,只能不排除chrome,让chrome和chrome创建的快捷方式都在任务列表里显示。

foobar2000自动更新播放列表

2008-12-17 3:42| 分类:Internet windows软件| 标签: | 4,454 次点击

刚才看到博客上有一个留言,关于foobar的:

“第三种办法的专集列表是有面板组件的,foo_albumlist
可以到我的blog去看看,我写那篇文章就是受到你的启发的,呵呵”

我看了这位朋友的博客,发现他写的这两篇教程真的不是一般的棒!分别是:foobar2000自动播放列表—按文件夹目录自动产生、更新foobar2000自动播放列表 (II),可以看出作者截图非常认真,以至于我都没什么好补充的,而且作者对foobar的设置风格跟我的很像,最终我按他所说的方法解决了foobar之前的设置带给我的问题,非常感谢他。

之前在《让foobar2000的播放列表按文件夹目录排序》一文中提到的最终方法是在分栏模式下用“专辑列表(视图下拉菜单选择“按目录结构”)+媒体库选择项+播放列表”来实现实时更新播放列表,但这样做的专辑列表是浮动的。这样就有了两个问题:

1、不美观,foobar的专辑列表是浮动的,如果稍微移一下位置就很难看
2、操作不够便捷,因为我用的是快捷键ctrl+0调出foobar播放列表,换专辑时还得用ctrl+home调出专辑列表,多按了一次。

没想到这位朋友的两篇文章一下给出了两个解决办法,第一个用的是默认面板,无需插件。我尝试了一下,最终设置的结果如下:

 image

两个画圆的地方是要去掉的,在“默认面板”下,我还真不知道怎么去掉 – -! 但作者的截图里是有去掉的。更简洁。

(我以前抱怨过foobar没法把专辑列表嵌入,因为一直在分栏模式下改动而分栏模式的确无法不依赖插件实现专辑列表的嵌入,想不到原来在“默认模式”下,foobar2000早就可以在“外观设置”那设置嵌入的专辑列表了)

另外一种方法是在分栏模式下,安装一个foo_albumlist插件(这个插件比较难单独下载到,我之前下载的一个HA_FB_OY_Green_Asion版本里有这个插件foo_uie_albumlist.dll)。

最终设置结果如下:

image

怎么样,看起来非常简洁吧?没错,这就是分栏模式的好处,可定制效果大大增加,最终我就选择了这个样式。

注:我没有菜单栏,所以可用按ctrl+p(panel)调出参数设置面板。

这是我写博客这么久碰上的最好的事~有人主动告诉我我没法解决的事~

恢复windows live writer误删除文件

2008-12-05 2:40| 分类:windows软件| 标签: | 4,865 次点击

刚才头脑发昏,看到一篇live writer里的一篇草稿《windows 2003安全设置》感觉好像是发过的文章,怎么变为草稿了?于是马上点了旁边的“X”,并确认删除,但立马反应到:这就是一篇还未发布的草稿!

这算是我用电脑这么久,第一次因为操作失误丢失数据,于是立即考虑采取应对方针。

1、我首先考虑现在断电源会不会不记录这个删除的操作,但我想已经来不及了,要断刚才应该更快些,现在硬盘上已经写入挺久了,断电源也没用。

2、其次我想到硬盘上是否有监视屏幕或者文字的软件,如google desktop,遗憾前些天我卸载掉了google desktop,现在后悔呀。

3、然后我搜索:“live writer 恢复草稿删除”之类的关键字,没发现任何有用的信息。

4、于是打算用系统还原(我的系统盘开启了系统还原)。

因为以前有过经验,windows自带的系统还原是不会还原这些文档的,live writer不管是删掉还是新增文章,系统还原前后都不会变。但也只能试试了。。果真,系统还原后writer没有任何变化。于是撤销还原。

5、没办法,不过我又想到一个关键字“误删”,于是继续搜索“live writer 误删”,终于找到一篇有用的文章:《恢复Windows Live Writer 2008 误删除日志》(原文链接),里面提到:

  马上用FinalData等恢复误删除软件恢复,删除的文件在我的文档\My Weblog Posts下.wpost为扩展名的文件。恢复后,可能Live Writer会打不开,或者打开是空白的。不要紧,看它的大小,文本内容应该还在的,将扩展名wpost改为Html,用IE打开文件,就能看到内容了(编码可能要选择UTF-8)。

于是我立即下载FinalData企业版 v2.01.1028,免安装,担心覆盖了系统盘上的数据,我把他放在D盘,然后运行finaldata:

先选择你需要还原的盘,然后确定进行查找。

image

查找完之后可以点击搜索:

image 

即可找到所有writer发布的文章:

image

然后就可以点击右键进行恢复。我还用了EasyRecovery Pro 6.12.02 汉化版(用这个没有找出删除的这个.wpost文件)和UndeleteMyFiles  2.9进行恢复,其中UndeleteMyFiles有一个detailed view非常好用,可以很方便的找到你丢失的文件,如图:

image 

把这个也恢复一下,最后对比FinalData恢复出来的文件,这两个文件大小完全相同(1M多),但用TC对比起来却完全不一样。不过用writer打开都是空白,于是只能改为.html格式,然后用TC的F3预览或者用TW(IE)打开。里面的图片都已经丢失,只有文字可以找回来。还好我写文章时是边写字边配截图的,截图只分两种,一种是win2003的初始状态截图,一种是进行了安全设置后的截图(即现在的win2003状态截图),所以这些信息都可以再找回来,这次的事故没有对我造成损失。

教训:
1、晚上迷迷糊糊的精神状态不好时操作还是慢一些
2、日志最好一写完就发表,让GR和Google来记录文章,保准不会丢。
3、Google Desktop最好还是装上,保不准又出现什么别的问题,Google桌面搜索有点像一个监视器。监视着硬盘的一举一动并记录下来(虽然只能是文字信息)。

卸载了All-In-One Gestures插件,用strokeit控制firefox3

2008-11-19 21:05| 分类:windows windows软件| 标签: | 3,062 次点击

已经有三年多不把firefox当作主浏览器了,仅仅是在调试网站的时候用一下firebug,主要原因就是启动慢。另外还有鼠标手势太慢了。当年用的时候(高三)也装了不少插件,比如可以更换Gmail皮肤的插件,不过现在都不用了,还留着一个鼠标手势的插件——All-In-One Gestures,但印象里这个插件的鼠标手势效果很不好,速度非常慢,而每次开firefox都得检查一遍兼容性,这个又不兼容firefox3,这样就影响了firefox的启动速度,所以今天就卸了,改用strokeit,应该就比用插件来得快。啥时候把tw也用strokeit控制而不用本身的鼠标手势功能控制啊?

因为chrome跟firefox的快捷键是一样的,所以不用在stokeit中新建应用程序来一个个配置firefox,直接在以前配置过的chrome程序的鼠标手势中添加一个firefox的窗口类(MozillaUIWindowClass)就可以了,现在鼠标手势就跟chrome的一模一样了,真方便!

而且确实,用strokeit比用插件的形式快多了,跟chrome中的速度没两样,但与tw自带的鼠标手势感觉还是有点差距(也许只是心理作用吧)。

同时还删除了以前做跟cookies相关的开发时安装的几个插件:cookieculler1.3.1、cookiesafe3.0.3,还有css开发相关的:Dust-Me Selectors 1.1(finds unused CSS selectors),还有一个不兼容ff3的Super DragAndGo 0.2.6.1,现在在ff或其他程序中都使用ctrl+g进行搜索,在默认浏览器TW中打开。这样并不比超级拖拽麻烦多少。

今天看到谋智网络还出了个“火狐中国版”,有个什么“火狐魔镜”,不感兴趣,以前不是说firefox从来都没自己“火狐”过吗?现在开始官方也叫“火狐”了?只是他那巨慢的启动速度让我彻底对firefox失去信心,现在主要TW+Chrome,偶尔用用Opera和IE(需要频繁搜索时用opera,opera的鼠标手势非常强大,还可以“Fast Forward”,在google中翻页非常爽),而开发时用Firefox3.

本来这文章是写在www.chenfangyi.com/twitter里的,可是写多了就发在这,像这样的文章实在不好当成一篇博文来写,不管那么多了。。

让foobar2000的播放列表按文件夹目录排序

2008-11-03 4:54| 分类:windows软件| 标签: | 6,401 次点击

对于把歌曲工工整整的按歌手和专辑分文件夹排序的人来说,文件目录其实就可以当成播放列表了。可是这么简单的需求在千千静听和foobar里实现都没那么简单。所以现在就要解决一个问题:如何让foobar的播放列表按文件夹目录排序。

有三种方法可以实现:

1、“播放列表切换器+播放列表+文件夹监视插件”的形式,如我前面所说,这种方式是我在千千静听上使用的,效率低下,即便foobar可以按ctrl+enter或者拖拽迅速的从专辑列表创建一个播放列表,但如果像我这样有100多个文件夹,要按每个歌手都去建一个播放列表,可想而知工作量。最终抛弃此方式。

为了用这个方法我还安装了foo_dirwatch.dll插件,来监视文件夹,我设置为“启动时就监测文件夹”,但后来一启动foobar就报错,只能把这个删了,下次如果还想用这个方法的话再试试foo_playlist_bind.dll。

2、“资源管理器插件(foo_uie_explorer.dll)+播放列表”的形式,看个截图就明白了:

image

用这种方式来实现需求实在是本末倒置,本来用foobar就是要脱离explorer的,居然又跑回去用explorer,显然也不能考虑。

3、“专辑列表(视图下拉菜单选择“按目录结构”)+媒体库选择项+播放列表”

既然foobar2000的媒体库专辑列表可以按目录结构排序,何不直接就用这个功能呢?那样就不必创建播放列表了,等于是每次都在更换“媒体库选择项”的播放列表(相当于创建了一个“动态播放列表”)。而且专辑列表不用任何插件就已经会自动更新的,不用担心下了新歌却找不到。如图:

 image

不过有个问题就是这个“面板”(其实按foobar对面板的定义,这个就不算面板了)是浮动的,我找了一些插件,比如foo_dockable_panels.dll之类的只能把面板变得浮动起来,却没法让浮动的变成面板。后来想想也算了,这个浮动也没什么不好,而且我每次都是用快捷键调出(ctrl+home键),就更没关系了。默认设置是按回车才能播放,可以改为双击“发送到当前播放列表”,这样就很像foobar CUI布局里的播放列表切换器或者千千静听里的左侧播放列表选择栏了。

好了,因为这样子每次创建的播放列表实际上都是临时的,所以就可以去掉那个“播放列表切换器”了,但左侧栏可以留着放这个“专辑列表”,于是我在“分栏用户界面”的布局删掉了播放列表切换器,把位置腾出来给专辑列表。最终效果如图:

image

其实还有一种方法可能可以实现,就是《【求助】Foobar 2000 能不能把专辑列表显示在左侧栏?》有人提到的用数据库浏览器foo_uie_dbexplorer.dll插件,我还特别下载了一个带这个插件的版本,但没搞清楚怎么用,《【原创】foobar2000的Columns UI插件的简单应用》有关于数据库浏览器的图片,但因我不是dream4ever的会员无法看到图,感觉也不会比第三种方法好用所以这里就不说了。

把foobar2000由DUI界面转换为CUI界面

2:19| 分类:windows软件| 标签: | 6,590 次点击

用了几天foobar默认的DUI界面,感觉很不习惯,我电脑上的歌是比较多的,播放列表达到上百个的时候,还用标签的方式,会显得很壮观,而且很不好控制。还是比较习惯用千千静听的那种“侧边栏”显示播放列表的方式,看了这篇《Foobar2000界面入门:认识Foobar的UI系统,熟悉三种主流界面插件》才知道foobar原来连个界面的定制自由度都这么高,于是添加了foo_ui_columns.dll插件,重启选择分栏模式,就切换到了CUI界面了。

然后去掉了“工具栏”上的所有项目和“可视化”里的“频谱分析仪”(后来知道可以直接设置为“不显示工具栏” – -!),现在很清爽,啥都没有,全部都用快捷键控制了。太好了,见图:

image

要设置时可按ctrl+p调出参数选项。

本来对《foobar2000 汉化周年纪念版》提到的“单栏播放列表”挺感兴趣的,还不清楚是什么,于是也添加了foo_uie_single_column_playlist.dll插件,但不知道怎么启用,看了《单栏播放列表教程》,说到:

“找到分栏界面项。切换到“布局”标签,在分粒器上右键选择“插入面板->播放列表视图->单栏播放列表视图”。这样你就将SCP插入到foobar了,并且你可以通过点击右边的配置按钮来设置他。”

一个插件的使用居然这么复杂,实在比较夸张,而文章居然还说:“该插件的初次设置和其它大多数的分栏界面(Columns UI)面板插件一样”,本来我对界面要求就不高,只要求简洁方便就行,现在看来我也是玩不转了,而且启用后才知道原来“单栏播放列表”就是把播放列表按自己设定的分组规则重新分组(比如默认是按照“%album%”分组),并且放在一个列表里,看来的确只是为了节省空间,而不是为了方便,而我根本就没在意foobar2000界面占用多少空间,因为我都是用快捷键操作的,顶多只是调用出来换个播放列表,所以这个“单栏播放列表”对我没有意义。于是关闭并删除了这个面板。并且删除了这个插件,重启foobar时居然还提示:

image

选了No,foobar2000真是智能啊,爱上这个播放器了。

目前foobar已经够用,暂不加插件了。

这个做法跟以前我上手TC一样,先用原版汉化的,再下载一个带很多插件的,慢慢等有需求了再从带插件的那个版本里复制插件过去。这样既能做出一个适合自己的个性化定制版本,又不用上网到处下载或者找资料累死人。

原版汉化下载:Foobar2000 V0.9.6 Beta1 汉化版 5.13 MB
插件绿色版下载:foobar2000 汉化周年纪念版 12.6 MB

TC之路——Total Commander学习笔记

2008-07-17 20:16| 分类:windows windows软件| 标签: | 10,113 次点击

前几天用上了Total Commander,昨天又花了一个下午加一晚上的时间狠狠的学习了下TC,这才真正发觉TC的强大和经典。

因为我订阅了善用佳软的blog,清楚xbeta那边有最详尽和最新的TC资料,所以这次学习TC就直接看xbeta写的TC资料。主要是看这份:TC学堂的Chm。这份chm非常棒,是Xbeta把网上写给PConline的《TC学堂》的教程打包,里面的动画演示Flash都在,是我见过的最好关于TC的教程了。

(more…)

卸载了VS2005,安装了VS2008

2008-04-30 14:53| 分类:tech windows软件| 标签: | 11,490 次点击

1、需要在自己的电脑上搭建一个web服务,让其他校内用户测试
2、IIS架设的网站有些ajax页面有问题,但又不是iis的问题,怀疑是系统问题,因为系统装了VS2005的缘故,但卸载了vs2005问题仍在,只能升级为vs2008试试。
3、网上已经有了支持.net framework 3.5的虚拟主机,所以不用怕vs2008开发出来后没地方用

第一次安装:(十天之前吧)

(more…)

visual studio 2005和SQL Server 2005安装笔记

13:57| 分类:tech web开发 windows软件| 标签: | 4,953 次点击

这是2007年12月19日在WP中保存的草稿,因为担心BQ问题而没发表,而今天写了visual studio 2008的安装笔记,所以就趁这个机会一并发表出来。

最终还是选定了.net下写这个网站,于是安装开发环境。
系统环境:
1、英文xp sp2;
2、已经安装了微软学生中心上下载的visual C#2005 速成版,不过里面没有新建网站的选项,只有新建项目。
3、以前也安装过sql,没有安装成功,在卸载里还有信息残留。 (more…)

【网管笔记】、windows server 2008的文件服务器与磁盘定额管理

2008-04-07 13:55| 分类:windows windows软件 网络管理| 标签: | 4,722 次点击

如图:windows server 2008里去掉了“文件管理器”这一称呼,而使用了我觉得直观的“共享和存储管理”,在开始菜单的管理工具里可以看到:

(more…)