升C小调狂想曲

<递归的忧伤>
posts - 10, comments - 71, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

这篇文章是继续上一篇《命令的痴狂》来阐述的。未阅读过前一篇的请参见这里:http://www.cppblog.com/ckyap/archive/2008/09/09/61427.html

这一次我做了一个可以自定RSS源的新闻滚动播放器插件,滚动新闻就放在TextBox的旁边,鼠标放过去有新闻简介,点击就可以打开浏览器浏览新闻。这样在工作之余,抬起头就能看看当时最新的新闻,不亦乐乎!

image 

 

除了新闻播放器,这两天主要做的就是一个智能提示框。就像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这个简称来访问它。这个就是一些特征的提取了,也不会太难。

image

image

除了程序目录,Program Files也是一个好地方,里面的exe一般都是有用的程序,提取出来,一起放进来,它就能提示我更多东西了。

第二个主要地方,就是收藏夹和浏览器历史了。遍历里面所有的项目,分析一下,也加入待选列表。同样是分析过程比较重要,决定了能否得到正确的提示。

image

image

选到需要的项目上,按回车就行了。这里我准备对使用次数做排名,使用得多的项目会浮到最上面去,也就是直接按回车就会启动的位置。

 

OK,现在这个框框可以干的所有事情,总结一下:

1.可以输入/exit,退出。(别扔砖头。。。)

2.可以输入/baidu,/google等搜索引擎对一个词进行搜索。搜索引擎可以通过配置文件指定。

3.可以输入一个完整的路径名,或者一个完整的URL,打开访问。

4.可以输入C#代码,立即执行。(可以进行表达式运算等操作)可以保存代码段,以后通过一个名字来直接执行它。

5.可以随时看到最新的新闻滚动播放,点击即可在浏览器中打开。RSS新闻来源可以自定。

6.自动索引常用程序和网页,可以通过输入它们的简称,或任何你想得到的代表词语来运行它们。

 

下一步准备做的,桌面搜索~

Feedback

# re: 命令的缤纷---将整个世界装进一个TextBox中!  回复  更多评论   

2008-09-12 10:56 by ak47
代码发布一下啊

# re: 命令的缤纷---将整个世界装进一个TextBox中!  回复  更多评论   

2008-09-12 12:39 by Daniel King
http://do.davebsd.com/

看看这个,估计也能给你一些启示
也是c#的(mono+gtk)

其实我也想做一个这样的软件
不过不太想用c#

# re: 命令的缤纷---将整个世界装进一个TextBox中!  回复  更多评论   

2008-09-12 17:06 by 西门有悔
不错的想法.

# re: 命令的缤纷---将整个世界装进一个TextBox中!  回复  更多评论   

2008-09-12 17:54 by 饭中淹
做一个功能
直接打
/名字 内容
就可以给好友发送消息

不管他是gtalk的,msn的,还是qq的

# re: 命令的缤纷---将整个世界装进一个TextBox中!  回复  更多评论   

2008-09-12 19:12 by U2U
不错!有意思啊!

# re: 命令的缤纷---将整个世界装进一个TextBox中!  回复  更多评论   

2008-10-29 11:28 by SunnyUp
哎,我下了你发布的最新版,怎么没有RSS插件啊
或者是我不会搞?

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理