关于WinOMeter
WinOMeter的介绍参考小众:WinOMeter - 鼠标键盘统计工具

起因
可以这样想像一下:每天开机的时候,把想昨天我的键盘按键次数、鼠标左中右键点击次数、鼠标移动的公里数和uptime发送到Twitter
这就是PYYWS2.js的来历。全称Ping Your Yesterday's WinOMeter Statistics
我一开始比较傻,还屁颠屁癫给WinOMeter作者Tomas写email恳请他给WinOMeter增加一个导出文本数据的命令行接口,作者也回复了,在1.4版本里增加了一个启动参数:
winometer.exe /exporthistory "filename.csv"
后来发现WinOMeter的数据都保存在注册表HKEY_CURRENT_USER\Software\Tomas Jelinek\WinOMeter里,所以我等于白麻烦Tomas同学了。
代码
在这里下载:
http://zxn0.googlecode.com/svn/winutil/PYYWS2.js
使用方法:根据自己的情况配置代码,把PYYWS2.js拖拽到开始 - 启动菜单即可
注意发送数据到Twitter,我的实现是通过Ping.fm进行的,如果直接发送到Twitter,或者发送到helloTXT请自己DIY,请修改
function post_to_pingfm(text)
{
...
}
函数。使用的是AJAX的XmlHttpRequest
自定义发送内容,见84行的 //content to be sent to ping.fm/twitter
最后大概就是这个样子:

后记
由于WinOMeter注册表里边Mouse Trajectory数据是二进制保存浮点,我还不知道是如何转换的,猜是IEEE 754,但是自己没能够trial成功,于是在#askreddit里问了高人才知道,是big-endian的IEEE 754,最后还要除1000,囧。。。。那位高人还建议,千万不要自己去重复造IEEE 754的轮子,麻烦而且容易出错,网上就找了一个最minimal的js代码,来自Fair Oaks Labs的jspack,用Javascript实现类似Python的struct模块,包括32 bit的float encode和decode为hex的函数。。很牛~~~
最后还是把Wakoopa和RescueTime卸载了,一来是这2个软件基本等于没用,二来隐私泄漏非常严重,三来没接口不开源没法自己DIY,no fun。希望尽快有很好很强大夸手机和Linux的开源替代出现,最好把Growl和Current Music Track功能都集成了。
标签: ajax, IEEE-754, javascript, registry, WinOMeter
你已经基本可以考虑在马桶上装个探头和无线收发装置了...