正文

如何使得程序在状态栏中隐藏显示2009-11-15 16:28:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/otot/50100.html

分享到:

目的就是程序的界面不动(无需最小化或者HIDE)但是在状态栏中的程序按钮消失。

一般来说,使用下面两个语句就可以了。

ShowWindow(Application.Handle,SW_NORMAL); //恢复显示

ShowWindow(Application.Handle,SW_HIDE);//隐藏

但是这两个语句不是百试百灵,我做的一个程序就不灵光了,怎样都找不出来原因,好容易在网上找到另外一个更加稳定的实现语句,如下:

隐藏时语句:
    ShowWindow(Handle,SW_HIDE);
    dwExStyle:=GetWindowLong(Handle,GWL_EXSTYLE);
    SetWindowLong(Handle,GWL_EXSTYLE,dwExStyle OR WS_EX_TOOLWINDOW
      AND NOT WS_EX_APPWINDOW);
    ShowWindow(Handle,SW_SHOW);

恢复时语句:
    ShowWindow(Handle,SW_HIDE);
    dwExStyle:=GetWindowLong(Handle,GWL_EXSTYLE);
    SetWindowLong(Handle,GWL_EXSTYLE,dwExStyle AND NOT WS_EX_TOOLWINDOW
      or WS_EX_APPWINDOW);
    ShowWindow(Handle,SW_SHOW);

注意里面的句柄不再是APPLICATION的,而是窗体FORM的了,看起来好像罗里罗唆的,但是WORK!,而且不这样做还真的不行,晕死。

 

阅读(3061) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册