如何通过程序设置任务栏的自动隐藏功能?

acup 2001-04-29 10:17:00
求助,如何通过程序设置任务栏的自动隐藏功能?谢谢!
...全文
171 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
TechnoFantasy 2001-05-02
  • 打赏
  • 举报
回复
我估计可能要改注册表,因为通过SHAppBarMessage发送ABM_SETAUTOHIDEBAR只是让系统
能够在用户光标离开工具栏后发送一个消息到工具栏消息处理函数,然后在消息处理函数
中处理任务栏的隐藏。可能我说的不对,因为我使用了ABM_SETAUTOHIDEBAR消息,返回的
结果也是正确的,但是任务栏并没有自动隐藏。
armyhu 2001-05-01
  • 打赏
  • 举报
回复
ABM_SETAUTOHIDEBAR怎么用有谁知道?
acup 2001-04-29
  • 打赏
  • 举报
回复
自动隐藏和隐藏是两码事。我是问如何给任务栏设置自动隐藏属性。
sundayboys 2001-04-29
  • 打赏
  • 举报
回复
先用SHAppBarMessage中的ABM_GETSTATE获得有没有自动隐藏,如果没有自动隐藏然后用ABM_SETAUTOHIDEBAR。
try it。
shh1979 2001-04-29
  • 打赏
  • 举报
回复
下面的程序可以隐藏/显示任务栏,不妨一试
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Const SWP_HIDEWINDOW = &H80
Private Const SWP_SHOWWINDOW = &H40

'隐藏任务栏
rtn = FindWindow("Shell_traywnd", "")
SetWindowPos rtn, 0, 0, 0, 0, 0, SWP_HIDEWINDOW
'显示任务栏
rtn = FindWindow("Shell_traywnd", "")
SetWindowPos rtn, 0, 0, 0, 0, 0, SWP_SHOWWINDOW
zzy198 2001-04-29
  • 打赏
  • 举报
回复
下面的程序可以判断任务栏是否是自动隐藏,不知对你是否有启发!
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Type APPBARDATA
cbSize As Long
hwnd As Long
uCallbackMessage As Long
uEdge As Long
rc As RECT
lParam As Long
End Type

Private Declare Function SHAppBarMessage Lib "shell32.dll" _
(ByVal dwMessage As Long, pData As APPBARDATA) As Long

Const ABM_GETSTATE = &H4
Const ABS_ALWAYSONTOP = &H2
Const ABS_AUTOHIDE = &H1

Private Sub Command1_Click()
Dim x As APPBARDATA
Dim l As Long

x.hwnd = 0
x.cbSize = Len(x)
l = SHAppBarMessage(ABM_GETSTATE, x)
If l And 1 Then
Debug.Print "自动隐藏"
Else
Debug.Print "没有自动隐藏"
End If
End Sub

7,763

社区成员

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

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