KEFEI's profileKORN' blogPhotosBlogListsMore ![]() | Help |
|
11/22/2009 -=[ WinDocker - AutoHotKey Script Hack ]=-五个月前写过一篇BLOG:-=[ New Wide Monitor + DualWeb ]=-,是一个关于把两个浏览器窗口排列在桌面上,每个窗口占一半桌面的小程序。那个程序有不少局限,比如只能用于Firefox,不够通用,C++代码让一般人很难编译等。Windows 7有个挺好用的功能就是使用键盘的Win Key+方向键来控制窗口的排列,比如Win Key + ← / Win Key + →正好可以把窗口排列到桌面的左半边或者右半边,Win Key + ↑最大化窗口,Win Key + ↓最小化窗口等。我虽然在办公室用Windows 7,但是在家还是固守我的Windows XP 64-bit,所以想写一个程序把Windows 7的这个新功能带到Windows XP上。这样不光对于浏览器,对于任何窗口都可以让它们在桌面上左右排列了。 开始的时候还是想用Visual C++写,又觉得没啥挑战性,也着实没啥意思,后来脑子里忽然跳出了据说能惊天地,泣鬼神的AutoHotKey。我以前没怎么用过AutoHotKey,只是在公司见到同事用,就去了解了一些。AutoHotKey本身是个很小的程序,但是它支持自己的一套脚本语言,让它的功能变得很强大。用它的脚本写出来的程序,只有想不到,没有做不到的。 于是下午先研究了一下它的脚本系统,发现是个不算十分严谨,但是功能很多的脚本语言。脑子里固有的C++的严谨语法,有时反而成了绊脚石。不过好在都是编程语言,大同小异,研究了两三个小时后,就开始动手写了。先实验性写了一个只支持一个显示器的程序。这个程序很简单,但是我打算支持任意多显示器,窗口在桌面放置的位置就不是简单的左半边和右半边了,而是每个显示器都有左右半边。另外,还要考虑到多显示器的系统,用户有时可能会暂时禁用一个显示器,所以程序要实时判断系统里有几个同时启用的显示器。结果就是程序长度涨了一倍,不过也不是很长,仅仅200行而已。 这个程序取名WinDocker,用AutoHotKey加载就行了,这里是脚本源代码:WinDocker.0.1.ahk 至于怎么玩AutoHotKey,自己Google一下。实在懒的Google的,这里有个200K的exe执行文件,嵌入了WinDocker的脚本,下载运行就可以。缺点是你就不能自己修改脚本了。 这里段演示,放在YouTube上了: 看不了YouTube的,我另扔了一个在土豆网上: 11/7/2009 -=[ My Computer Case - Switch ]=-上一篇提到“我另外一个设想是,把电源开关和指示灯全部做成外插式的一个小盒子,放在桌子上, 像键盘似的插到机箱上”。现在把设想变成实物了。材料是一个废PS2接口鼠标的线,一个废主板的PS2接口,一个废读卡器和一个废微波炉上拆下来的开关(我的废物好像很多,HOHO,其他废物就不一一列举了)。 首先要用的是废读卡器上的LED指示灯,红灯做硬盘灯,绿灯做电源灯。然后把读卡器电路板裁成这样。 把开关和电路板用热熔胶粘在一起,背面焊好PS2鼠标的线。 接下来出场的是TUX,不过要做点小手术,把开关和电路板塞进去。 然后要从废主板上拆PS2接口了。这个PS2接口针脚比较多,所以需要点非常规武器:热风枪。热风枪吹出450℃的热风,把若干针脚上的锡同时全部融化,PS2接口就能拔下来了。 这是连着的PS2鼠标线的TUX和主板上取下来的PS2接口。 可以想象一下,等这个机箱做完了之后,机箱上没有任何开关和指示灯。如果要开机,就需要捏一下放在桌子上的TUX的肚子,触发藏在肚子里的开关。如果我不提示,估计一般人都不知道怎么开机,哈哈哈。Pretty cool, eh? |
|
|