码迷,mamicode.com
首页 > 其他好文 > 详细

全局热键与隐藏窗口启动程序矛盾的解决记录

时间:2014-05-22 03:48:06      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:style   blog   c   tar   ext   http   

      需要实现的需求如下:

      程序启动分2种:正常带窗口(手动启动);静默不带窗口直接显示托盘(开机启动;自动更新后启动)

      遇到的难点及解决:

      由于程序用用到全局热键截屏(由RegisterHotKey...实现),发现最小化托盘后就有问题了。最后发现去掉"this.ShowInTaskbar=false;"就可以了。至于原因没有深究。但要是没有这句的话,开机带参数静默启动时会出现闪屏,而且更严重的是,自动更新是通过后台一个服务控制的,所以自动更新后启动前台程序需要session0穿透。通过这个方式启动要不显示界面,必须需要"this.ShowInTaskbar=false;",一个矛盾点就这样产生了,所以必须搞明白"this.ShowInTaskbar=false“这句到底做了什么。最后终于明白:原来是ShowInTaskbar值改变后程序的句柄会改变。之前注册热键的句柄就找不到了。所以就好办了,加上在静默启动中保留"this.ShowInTaskbar=false;",然后每次改变ShowInTaskbar值后都重新取消热键再注销热键。

      最后将所查相关资料遇到不错的文章留下来.

http://ly4cn.cnblogs.com/archive/2006/03/16/351205.html?Pending=true#Post

http://smalldust.cnblogs.com/archive/2006/03/29/361807.html

 

http://topic.csdn.net/u/20090422/17/87f283c1-eb65-4817-9988-b7f543f9217c.html
http://topic.csdn.net/u/20090616/09/6ffbba46-e1a3-4ba0-aef1-355e6ee3cc5b.html

 

全局热键与隐藏窗口启动程序矛盾的解决记录,布布扣,bubuko.com

全局热键与隐藏窗口启动程序矛盾的解决记录

标签:style   blog   c   tar   ext   http   

原文地址:http://www.cnblogs.com/cc415/p/3738526.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!