vb6 当其他程序全屏时自动隐藏窗体 代码
时间: 2023-06-25 15:04:59 浏览: 147
vb6做的隐藏窗体工具
5星 · 资源好评率100%
在 VB6 中,你可以使用 API 函数来实现这个功能。具体的实现方法如下:
1. 在窗体的代码区域声明以下 API 函数:
```
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
```
2. 在窗体的 Load 事件中添加以下代码:
```
Private Sub Form_Load()
Timer1.Interval = 500 '设置定时器的时间间隔
Timer1.Enabled = True '启动定时器
End Sub
```
3. 在窗体中添加一个定时器控件 Timer1,并设置其 Enabled 属性为 False。
4. 在定时器的 Tick 事件中添加以下代码:
```
Private Sub Timer1_Timer()
Dim ForegroundhWnd As Long
ForegroundhWnd = GetForegroundWindow() '获取当前激活窗口的句柄
'如果当前激活窗口不是本窗口,并且当前激活窗口的状态是全屏,就隐藏本窗口
If ForegroundhWnd <> Me.hwnd And (ShowWindow(ForegroundhWnd, SW_SHOWNORMAL) = SW_SHOWMAXIMIZED) Then
Me.Hide
Else
Me.Show
End If
End Sub
```
5. 最后,在窗体的 Unload 事件中停止定时器:
```
Private Sub Form_Unload(Cancel As Integer)
Timer1.Enabled = False
End Sub
```
这样,当其他程序全屏时,本窗口就会自动隐藏起来,当其他程序退出全屏状态时,本窗口就会自动显示出来。
阅读全文