Posted on 2008-09-12 00:29
陈坤 阅读(1509)
评论(6) 编辑 收藏 引用 所属分类:
Flashing Ideas
这篇文章是继续上一篇《命令的痴狂》来阐述的。未阅读过前一篇的请参见这里:http://www.cppblog.com/ckyap/archive/2008/09/09/61427.html
这一次我做了一个可以自定RSS源的新闻滚动播放器插件,滚动新闻就放在TextBox的旁边,鼠标放过去有新闻简介,点击就可以打开浏览器浏览新闻。这样在工作之余,抬起头就能看看当时最新的新闻,不亦乐乎!
除了新闻播放器,这两天主要做的就是一个智能提示框。就像Firefox那个“棒极了的地址栏”一样,我希望这个框框能智能的提示我一些操作和命令。大多数时候,我们想通过一些熟悉的名字来启动一些程序,比如输入QQ,就给我启动QQ,输入IE,就给我打开IE。有时候我们也希望通过一些简称来访问一些网站,比如输入baidu,就给我打开百度,输入google就给我打开google,而不需要输入完整的http://www.baidu.com 。当然,如果让我们手动添加所有的命令,比如我亲自告诉程序,“如果我输入baidu就给我打开http://www.baidu.com”,这当然很轻松,但是我很懒,我不想每次都亲自添加这种命令,我需要他自动帮我找出来。
第一个我能想到的地方,就是开始菜单的“程序”目录里了。遍历里面所有的快捷方式,把名字分析一下,加入待选列表,搞定。不过这个名字分析的过程比较麻烦,因为比如QQ他的快捷方式默认是叫“腾讯QQ2009”,但是我只想输入QQ就打开它。另外比如Microsoft Visual Studio 2008,我只想输入MVS这个简称来访问它。这个就是一些特征的提取了,也不会太难。
除了程序目录,Program Files也是一个好地方,里面的exe一般都是有用的程序,提取出来,一起放进来,它就能提示我更多东西了。
第二个主要地方,就是收藏夹和浏览器历史了。遍历里面所有的项目,分析一下,也加入待选列表。同样是分析过程比较重要,决定了能否得到正确的提示。
选到需要的项目上,按回车就行了。这里我准备对使用次数做排名,使用得多的项目会浮到最上面去,也就是直接按回车就会启动的位置。
OK,现在这个框框可以干的所有事情,总结一下:
1.可以输入/exit,退出。(别扔砖头。。。)
2.可以输入/baidu,/google等搜索引擎对一个词进行搜索。搜索引擎可以通过配置文件指定。
3.可以输入一个完整的路径名,或者一个完整的URL,打开访问。
4.可以输入C#代码,立即执行。(可以进行表达式运算等操作)可以保存代码段,以后通过一个名字来直接执行它。
5.可以随时看到最新的新闻滚动播放,点击即可在浏览器中打开。RSS新闻来源可以自定。
6.自动索引常用程序和网页,可以通过输入它们的简称,或任何你想得到的代表词语来运行它们。
下一步准备做的,桌面搜索~