隐藏系统任务栏的时候变成灰色了,而不是消失

enjoyeagle 2003-05-01 09:52:29
我用API隐藏系统任务栏时,它变成一片灰色,但并不是消失了,看上去很难看,不知你有什么好办法解决
再就是有没有什么办法仅仅隐藏系统任务栏的一个图标,而不是整个任务栏,比如就隐藏金山词霸的?
请各位帮忙,我一定尽快结贴。
...全文
128 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
用户 昵称 2003-05-06
  • 打赏
  • 举报
回复
我不知道你具体的要求,也没发现你所说的现象,下面的代码在我的xp下有效,没有闪烁,竖线等等。

Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Dim Shell_TrayWnd As Long
Dim TrayNotifyWnd As Long
Dim SysPager As Long
Dim ToolbarWindow32 As Long

Private Sub Command1_Click()
Shell_TrayWnd = FindWindow("Shell_TrayWnd", vbNullString)
If Shell_TrayWnd Then
TrayNotifyWnd = FindWindowEx(Shell_TrayWnd, 0, "TrayNotifyWnd", vbNullString)
If TrayNotifyWnd Then
SysPager = FindWindowEx(TrayNotifyWnd, 0, "SysPager", vbNullString)
If SysPager Then
ToolbarWindow32 = FindWindowEx(SysPager, 0, "ToolBarWindow32", vbNullString)
If ToolbarWindow32 Then
Command2.Enabled = True
Command3.Enabled = True
Else
Exit Sub
End If
Else
Exit Sub
End If
Else
Exit Sub
End If
Else
Exit Sub
End If
End Sub

Private Sub Command2_Click()
'ShowWindow Shell_TrayWnd, 0
ShowWindow TrayNotifyWnd, 0
'ShowWindow SysPager, 0
'ShowWindow ToolbarWindow32, 0
End Sub

Private Sub Command3_Click()
'ShowWindow Shell_TrayWnd, 1
ShowWindow TrayNotifyWnd, 1
'ShowWindow SysPager, 1
'ShowWindow ToolbarWindow32, 1

End Sub

Private Sub Form_Load()
Command1.Caption = "get"
Command2.Caption = "hide"
Command3.Caption = "show"
Command2.Enabled = False
Command3.Enabled = False
End Sub
enjoyeagle 2003-05-06
  • 打赏
  • 举报
回复
可能2000与XP不同吧
enjoyeagle 2003-05-02
  • 打赏
  • 举报
回复
JennyVenus的方法我知道,那是将整个任务栏都隐藏,包括开始按钮,应用程序栏,系统程序栏,时间栏,快速启动栏全部隐藏了。

Shell_TrayWnd为整个任务栏的类名。
整个系统任务栏(包括时间栏)的类名为TrayNotifyWnd
不包括时间栏的系统任务栏的类名为ToolbarWindow32
当我用ToolbarWindow32调用findwindow时,那些金山词霸啊,瑞星啊的图标都消失了,但还有一根竖线立在那里,好难看。
我又想用TrayNotifyWnd来调用以把系统任务栏和时间栏一起隐藏时,但整个系统任务栏只是闪一闪就完了,仍然显示在那里,不知何故?
用户 昵称 2003-05-02
  • 打赏
  • 举报
回复
try
showwindow( findwindow( "Shell_TrayWnd", vbnullstring ), 0 )
enjoyeagle 2003-05-01
  • 打赏
  • 举报
回复
ShowWindow啊,我说的灰色不是我们平常那种菜单的禁用的灰色,那些图标倒是隐藏了,但那根竖线还立在那里,显现出一个方框,很显眼。
但我隐藏时间栏时时间栏就整体消失,系统任务栏也向右平移一截,比较好。我要的效果就是要像隐藏时间栏一样:那根竖线也给我消失。谢谢!
wzhjs 2003-05-01
  • 打赏
  • 举报
回复
你用哪个Api干的EnableWindow()?

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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