如何真正显示和隐藏window2k下的任务栏

linuxpeng 2003-11-27 03:42:54
各位老大:
我的程序需要隐藏windows2k下的任务栏,要求任务栏隐藏后,窗体最大化能充满整个屏幕,类似于IE浏览器的"全屏"功能.急急急.....
...全文
177 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mittee 2003-12-13
  • 打赏
  • 举报
回复
学习
ld2099 2003-12-13
  • 打赏
  • 举报
回复
要显示或隐藏任务栏,首先要得到它的窗口句柄。任务栏是一个特殊的窗口,它的窗口类为:Shell—TrayWnd,没有标题,故只能用FindWindowEx函数来取得它的句柄:

  Function long FindWindowEx(long ph, long ch, ref String cn, ref String wn) Library ′user32′

  Function Long ShowWindow(Long hWnd, Long nCmdShow ) Library ′user32′

  用ShowWindow来显示或隐藏窗口,其第二个参数为0表示隐藏,为5表示显示:

  handle = FindWindowEx(0,0,"Shell—TrayWnd", wn)//wn为空串

  ShowWindow(handle,0)//隐藏任务栏
haihan 2003-12-13
  • 打赏
  • 举报
回复
定义两个外部函数
Function long FindWindowExA(long hWnd,long hWndChild,ref string lpszClassName,ref string lpszWindow) library "user32.dll"
Function long ShowWindow(long hwnd,long nCmdShow) library "user32.dll"
在窗口的open事件中写下例代码
CONSTANT LONG SW_HIDE=0
CONSTANT LONG SW_NORMAL=1
CONSTANT LONG SW_SHOWMINIMIZED=2
CONSTANT LONG SW_SHOWMAXIMIZED=3
CONSTANT LONG SW_SHOWNOCATIVATE=4
CONSTANT LONG SW_SHOW=5
CONSTANT LONG SW_MINIMIZED=6
CONSTANT LONG SW_SHOWMINNOACTIVE=7
CONSTANT LONG SW_SHOWNA=8
CONSTANT LONG SW_RESTORE=9
CONSTANT LONG SW_SHOWDEFAULT=10
string ls_ShellTaskBarWnd="shell_TrayWnd"
string ls_isnull
long ll_HTaskBar,ll_HDeskTop
ll_HTaskBar=FindWindowExA(0,0,ls_ShellTaskBarWnd,ls_isnull)
ShowWindow(ll_HTaskBar,SW_HIDE)
txchen 2003-12-13
  • 打赏
  • 举报
回复
学习
chrisfy 2003-11-27
  • 打赏
  • 举报
回复
学习
doublevip 2003-11-27
  • 打赏
  • 举报
回复
转载:
如何隐藏windows的任务栏?

问:请问在程序中要如何隐藏windows的任务栏呢?
答:用Windows的API函数FindWindowEx()与ShowWindow()即可。

①定义API:
Function ulong FindWindowEx(ulong hWnd1,ulong hWnd2,ref string lpsz1,ref string lpsz2) LIBRARY "user32.dll" ALIAS FOR "FindWindowExA"
Function ulong ShowWindow( ulong winhandle, int wincommand ) Library "user32"

②脚本:
// Names of the shell windows we'll be looking for
String str_ShellViewWnd = "Progman"
String str_ShellTaskBarWnd = "Shell_TrayWnd"
String str_Null
Long lng_HTaskBar, lng_HDeskTop

// 隐藏任务栏
lng_HTaskBar = FindWindowEx( 0, 0, str_ShellTaskBarWnd, str_Null )
ShowWindow( lng_HTaskBar, 0 )

// 显示任务栏
lng_HTaskBar = FindWindowEx( 0, 0, str_ShellTaskBarWnd, str_Null )
ShowWindow( lng_HTaskBar, 5 )

[注]FindWindowEx()函数

说明: 在窗口列表中寻找与指定条件相符的第一个子窗口。
返回值: ulong,找到的窗口的句柄。如未找到相符窗口,则返回零。
参数 类型及说明
hWnd1 ulong,在其中查找子的父窗口。如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找)。
hWnd2 ulong,从这个窗口后开始查找。这样便可利用对FindWindowEx的多次调用找到符合条件的所有子窗口。如设为零,表示从第一个子窗口开始搜索。
lpsz1 String,欲搜索的类名。零表示忽略。
lpsz2 String,欲搜索的类名。零表示忽略。

ShowWindow()函数

说明: 控制窗口的可见性。
返回值: ulong,如窗口之前是可见的,则返回TRUE(非零),否则返回FALSE(零)。
参数 类型及说明
winhandle ulong,窗口句柄,要向这个窗口应用由wincommand指定的命令。
wincommand integer,为窗口指定可视性方面的一个命令。请用下述任何一个常数
0 隐藏窗口,活动状态给另一个窗口。
1 用原来的大小和位置显示一个窗口,同时令其进入活动状态。与9同。
2 最小化窗口,并将其激活
3 最大化窗口,并将其激活。
4 用最近的大小和位置显示一个窗口,同时不改变活动窗口。
5 用当前的大小和位置显示一个窗口,同时令其进入活动状态。
6 最小化窗口,活动状态给令一个窗口。
7 最小化一个窗口,同时不改变活动窗口。
8 用当前的大小和位置显示一个窗口,不改变活动窗口。
9 用原来的大小和位置显示一个窗口,同时令其进入活动状态。

→我是小木鱼(Lag)

写于2000年11月29日

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧