VB6如何判断win98的任务栏是否是自动隐藏???

zzy198 2001-04-24 11:16:00
加精
VB6如何判断win98的任务栏是否是自动隐藏???
...全文
131 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hp1200 2001-07-29
  • 打赏
  • 举报
回复
up
binghuodao 2001-04-25
  • 打赏
  • 举报
回复
注册表
zzy198 2001-04-25
  • 打赏
  • 举报
回复
我查询过以前的讨论,这个问题好像没人正确回答过!
zzy198 2001-04-25
  • 打赏
  • 举报
回复
非常谢谢TechnoFantasy老兄,问题OK了!想问问如何给别人加分?
TechnoFantasy 2001-04-25
  • 打赏
  • 举报
回复
代码:

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
kimryo 2001-04-24
  • 打赏
  • 举报
回复
调用以下几个API
模块中申明:
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Declare Function IsWindowVisible Lib "user32" Alias "IsWindowVisible" (ByVal hwnd As Long) As Long
'-------------------------------------------------------------------------------
程序中代码:

Dim hwnd as long
hwnd=FindWindow(0,"Systray")
Dim res as Bool
res=IsWindowVisiable(hwnd);'如res的值为false则为不可视.
'-------------------------------------------------------------------------------

zzy198 2001-04-24
  • 打赏
  • 举报
回复
上面的方法只能判断任务栏是否处于隐藏状态,而我问的是如何判断WIN98任务栏属性中的“自动隐藏”复选框选项是否被选中!!!
dave75 2001-04-24
  • 打赏
  • 举报
回复
把0改成vbnullstring就可以了,我用过好多次的.
zzy198 2001-04-24
  • 打赏
  • 举报
回复
运行不了!报错!!!
hwnd=FindWindow(0,"Systray")语句中的“0”不是字符型。FindWindow()函数用的都是字符型的!!!

7,762

社区成员

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

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