转+使用VC++6.0隐藏任务栏

本文介绍了一种方法,可以彻底隐藏Windows任务栏,并使应用程序窗口自动扩展以填充整个屏幕,包括原本被任务栏占用的空间。通过使用特定API调用,能够实现任务栏的隐藏及窗口的全屏扩展。

为了实现chken tray clock 的功能,找到了这篇文章作为参考

文章出处:DIY部落(http://www.diybl.com/course/3_program/c++/cppjs/20090403/164117.html

摘要]:

隐藏任务栏本没有什么难的,获取任务栏的窗口句柄,然后设置它隐藏。但是隐藏之后,任务栏阴魂不散,死活也不肯腾出所空间。还好,最后找到了解决办法。

[正文]:

需求是:彻底隐藏任务栏,让任务栏腾出空间给窗口。

隐藏Windows任务栏,代码如下:

HWND hWnd;

hWnd = FindWindow("Shell_TrayWnd",NULL);

ShowWindow(hWnd,SW_HIDE);

 

运行之后任务栏如愿隐藏,但是任务栏所占据的区域空了出来,如果能让窗口把这个空出的区域占满那就更好了。我们发现任务栏的属性中有一个选项"自动隐藏任务栏",勾选之后,任务栏不仅会自动隐藏(在鼠标接近桌面最下边的时候,任务栏又会自动恢复),而且还让窗口自动扩展而占满了任务原先所在区域。自动隐藏任务栏的代码如下:

#ifndef ABM_SETSTATE

#define ABM_SETSTATE 0x0000000a

#endif

 

APPBARDATA apBar;

memset(&apBar, 0, sizeof(apBar));

apBar.cbSize = sizeof(apBar);

apBar.hWnd = hWnd;

if(apBar.hWnd != NULL)

{

apBar.lParam = ABS_AUTOHIDE | ABS_ALWAYSONTOP;

SHAppBarMessage(ABM_SETSTATE, &apBar); //设置任务栏自动隐藏

}

 

设置任务栏自动隐藏也不能完全满足我的要求,因为在鼠标接近桌面最下边的时候,任务栏又会自动恢复。这不是我想要的效果。此时,注意到如果把"设置任务栏自动隐藏"和"隐藏任务栏"优点结合起来,正好是我们想要的。代码如下:

void HideTaskBar(BOOL bHide)

{

int nCmdShow;

HWND hWnd;

LPARAM lParam;

 

hWnd = FindWindow("Shell_TrayWnd",NULL);

if(bHide == TRUE)

{

nCmdShow = SW_HIDE;

lParam = ABS_AUTOHIDE | ABS_ALWAYSONTOP;

}

else

{

nCmdShow = SW_SHOW;

lParam = ABS_ALWAYSONTOP;

}

 

ShowWindow(hWnd,nCmdShow);//隐藏任务栏

 

 

#ifndef ABM_SETSTATE

#define ABM_SETSTATE 0x0000000a

#endif

 

APPBARDATA apBar;

memset(&apBar, 0, sizeof(apBar));

apBar.cbSize = sizeof(apBar);

apBar.hWnd = hWnd;

if(apBar.hWnd != NULL)

{

apBar.lParam = lParam;

SHAppBarMessage(ABM_SETSTATE, &apBar); //设置任务栏自动隐藏

}

}

 

 

结合之后,既让任务栏隐藏了,又可以让窗口自动扩展到全屏。

 

转载于:https://www.cnblogs.com/oskycar/archive/2009/08/12/1544317.html

简 介: 任务栏时间增强工具(CHKen Tray Clock,简称 KClock),时间格式显示为 月/日|星期 小时:分钟   日常玩电脑时,总希望任务栏能显示星期还有几月几日就好了,就因为一个方便,第一代(0.1) KClock 产生了,支持显示农历!   发布后得到很多网友的认同,提供了很多建议,很多都是自己很久就想要改进的,于是升级到第二代(1.0) KClock 了,UNICODE 时代!   如今,进入第三代(2.0),强大的定时器功能,有了第三代,时间尽在掌握,超级迷你,您现在还需要其它的定时器软件? 2.1 时间格式使用说明:  /=换行 \=义符 c=CPU使用率  y=年  M=月   d=日 w=星期  Me=英文月 M3=英文月缩写 we=英文星期 w3=英文星期缩写  h=12小时 H=24小时 m=分钟 s=秒 ap=AM/PM apz=上下午  zM=农历月 zd=农历日 z/%/=是否闰月  tg=天干 dz=地支 zc=生肖 bt=系统启动时间 ------------以下是信息窗口独有的-------------  ac=定时器 net=网络信息  -=分隔符  支持重复的有,yy,MM,dd,hh,HH,mm,ss,cc,假设现在是5月,如果使用MM,则显示为"05",使用M,显示为"5"  义的功能,如果要显示"m",而显成分钟,可以用\m 要显示[09年5月1号 21:03:02]格式为 yy年M月d号 H:mm:ss 要显示[2009年05月01号 9:3:2]格式为 y年MM月dd号 h:m:s   KClock - 舍我其谁,自己在用的软件,才是好软件! 2009.04.24     -     2.1      信息窗口支持        双击打开定时器设置        鼠标中键打开系统设置        右键菜单        文字格式自定义功能      支持显示上下午      支持休眠和报时(报时需要系统支持TTS)      支持定时器输入天数      修正WindowBlinds Hook GetProcAddress引起的问题      修正漏掉选择发送色标题忘了设置的问题      修正到中午12点显示为零点问题(12小时制时)      还有更多小小的细节....      移除自动安装功能 2009.04.21     -     2.0      增强定时器功能       定时关机功能       周期功能       自定义名称       过期在下次启动时会提示了      添加任务栏支持显示CPU和网络      定时器和系统设置分开      支持双击任务栏时间打开定时器设置        中键打开系统设置      浮动窗口支持拖拉,并且可以透明和透空化      解决部分杀毒软件误报毒问题      解决 Win2k 下很多问题      代码重组优化,在添加如此多的功能下,只多了2KB代码! 2009.04.08     -     1.1      修复润月崩溃问题(强烈建议更新到新版本,特别感谢发现此BUG的网友[wusoftware2000])      添加更多自定义选项      添加显示网络总流量      添加定时器倒计时设置选项(如果系统时间被修改,将按目标指定时钟)      支持无限个定时器      添加自动安装到启动菜单功能 2009.03.28     -     1.0      使用UNICODE      添加自定义功能(色彩,时间格式)      添加光驱控制功能      添加显示系统启动运行的时间      修正任务栏同位置信息窗口显示位置问题      修正Vista中出现多余网络信息问题           -- 再次感谢提供以上功能建议的网友 :), 2009.03.06     -     0.5      修正定时器时间到后配置更新BUG      信息窗口格式一些变动...      信息窗口显示定时器一些信息      网络信息每个连接分开显示,并使用浮点计算(显示得更精确一点) 2007.11.21      正式命名为 CHKen Tray Clock 2007.11.19     -     0.4      修正保存配置BUG      添加显示CPU使用率功能      添加显示网络流量功能      添加更多菜单功能(显示桌面、系统工具...) 2007.11.5     -     0.3      使用固定字体(宋体)      添加控制鼠标移动显示信息窗口功能      添加定时器自定义提示信息      添加定时器运行指定程序      修正某些XP下时间显示多出一个方块问题      添加保存配置功能(保存到PE文件中,完全绿色)      添加退出提示功能           -- 感谢提供以上功能建议的网友 :),由于时间问题,某些功能还没有加入,请谅解 2007.10.1     -     0.2 x64版本      推出x64版本,如果您使用的是64位操作系统,请下载64位版本 2007.9.30     -    0.2      修正时间更新的BUG      去除窗口自动改变大小(自己都感觉烦了,呵)      添加浮动显示农历      支持XP外观(以前的实在是太丑了)      零进程占用 请复制本程序到-》开始菜单-》程序-》启动 里,每次系统启动时就会自动加载了! 注意:此软件使用注入技术实现,可能某些杀病毒会误报,请添加到信用里就可以正常使用! 瑞星2008设置: 主菜单-》设置-》防御设置-》主动防御(左边)-》主动防御白名单(右下角)-》添加-》浏览 KClock.exe -》确定、确定、确定...这样就可以正常使用 KClock 了 本软件支持WIN9X系统!如果运行中出现问题,请等待下一个版本,或者发邮件给我
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值