bianbian coding life

便便代码人生: 关注技术, 翻译文档, 偶尔动动手

[原] 自制Total Commander自动启动和呼出热键

Posted by bianbian on 2009-03-16 20:25

本文Tags: , ,

经历多次安装卸载安装卸载,我这次终于静下心来琢磨了一下传说中的Total Commander。
总算有点上手了,确实方便,尤其现在内存大,根本不在乎耗多少资源。哈哈
不过郁闷的是这个玩意定义了那么多快捷键,却不支持呼出自己的快捷键。。。
好吧,我写个了windows NT 服务,来启动Total Commander。。。
同时注册了个全局热键(快捷键):Win+Q 来呼出Total Commander
Win+Q:T400的键盘这两个键,对我的手来说刚好是左手拇指和小指很舒服的位置。如果要改您下源码改吧
在注册表里扫了一遍,居然没有total commander的任何信息,果然绿色。
好吧,我承认,现在由于忙的关系,这个服务只做了个框。。。。过几天发布。。。。
补充:
好吧,发布了,嘿嘿:[原] Total Commander Service to show/hide TC by hotkey/boss key/shortcut key
1. 是系统服务(意味着没登录就启动TC了)
2. Win+Q隐藏或者呼出TC
下载到TC的目录里运行,安装/反安装(第一次运行安装,第二次卸载,。。。)。
由于是系统服务(默认用户是LocalSystem),如果直接启动TC也将以LocalSystem的身份运行,会带来很多问题(比如输入法就启动不了了)。
因此程序调用API(LogonUser)先进行了模拟登录,所以安装的时候需要输入用户密码。

Download exe:TotalCmdService.zip (22K) , and src:TotalCmdServiceSrc.zip (10K, VC++6.0)

标签: , ,

遵守创作共用协议,转载请链接形式注明来自http://bianbian.org 做人要厚道

相关日志

11 Responses to “[原] 自制Total Commander自动启动和呼出热键”

  1. bianbian Says:

    看到drl上有朋友说自定义快捷方式的快捷键就行了(或者用其他支持热键定义的软件)。
    我要说明如下:用这些方法定义的快捷键实际上都会再运行TC一遍,只不过因为TC勾选了“只允许一个TC运行”,显得好像是热键呼出的。
    而我实现的这个服务,是直接找到TC的窗口,给他show、hide。
    因此不存在读取硬盘、写入内存等消耗系统资源的操作,也应此会比上述方法快很多。

  2. Sunshow Says:

    错别字:应此

  3. tongjilibin Says:

    谢谢,很好用的工具。

  4. Protosst Says:

    你好
    请问如果是用的绿色版的, 你的这个方案有用吗?

    还有,可以换热键吗?

  5. bianbian Says:

    回Protosst:绿色版可用的,我的就是绿色版。换热键只能自己下源码,修改,编译了。在Service.cpp的“UINT key = ‘Q’;”那里

  6. Protosst Says:

    绿色版和beta8都装了, 不知是不是这个冲突
    我用的ccf franky的7,1 beta1
    好象没有完成好,删除什么的完成后会转到其它程序
    PS:在beta8中的那个进度条很有趣

    我不懂编程,但是看到你在cpp里有q被占用时的备用方案,提示我为win+r,但是我用bblean,win+r是run

  7. sun Says:

    这个软件想法很不错,呼出很快。但是存在的问题是一旦运行该service,重启系统后,系统变慢,并且通过total commander无法打开应用程序,几次导致机器死机。我的机器很干净,是XP SP3,total commander版本为7.5 RC2,在资源管理器里面是可以很好的打开任何文件的。请测试,很希望能使用到改进后的软件。

  8. bianbian Says:

    Sun你好,感谢测试。我也发现模拟帐户登录总是有些问题,可以把这个service的快捷方式放到启动里面启动。。。。

  9. Q Says:

    我试了一下如果登陆账户没有logon密码则会启动报错,start service failed

  10. Leon Says:

    博主可以试试ahk,简单易行。
    请参考这篇文章 http://xbeta.info/ahk-1.htm

  11. Leon Says:

    ahk的亮点: win+t,打开TC:未启动则启动之,未激活则激活之,已正常则最小化。

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

(required)