Postup:
Založte nový projekt a v
modulu deklarujte:
Option Explicit
DefLng A-Z
Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA"
(ByVal hWnd As Long, ByVal hWndChild As Long, ByVal lpszClassName As String,
ByVal lpszWindow As String) As Long
Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long,
ByVal nCmdShow As Long) As Long
'konstanty pro ShowWindow()
Public Const SW_HIDE = 0
Public Const SW_NORMAL = 1
Public Const SW_SHOWMINIMIZED = 2
Public Const SW_SHOWMAXIMIZED = 3
Public Const SW_SHOWNOACTIVATE = 4
Public Const SW_SHOW = 5
Public Const SW_MINIMIZE = 6
Public Const SW_SHOWMINNOACTIVE = 7
Public Const SW_SHOWNA = 8
Public Const SW_RESTORE = 9
Public Const SW_SHOWDEFAULT = 10
'Jméno okna
shellu, které hledáme
Public Const g_cstrShellViewWnd As String = "Progman"
*každá
deklarace musí být na samostatném řádku
Založte formulář (frmMain)
a na něj umístěte dvě tlačítka cmdHideDesktop and cmdShowDesktop. Zapište
následující procedury do deklarační části formuláře:
Private Function
FindShellWindow() As Long
Dim hWnd As Long
On Error Resume Next
hWnd = FindWindowEx(0&, 0&, g_cstrShellViewWnd,
vbNullString)
If hWnd <> 0 Then
&nbs 85c p; FindShellWindow = hWnd
End If
End Function
Private Sub HideShowWindow(ByVal hWnd As Long,
Optional ByVal Hide As Boolean = False)
Dim lngShowCmd As Long
On Error Resume Next
If Hide = True Then
lngShowCmd = SW_HIDE
Else
lngShowCmd = SW_SHOW
End If
Call ShowWindow(hWnd, lngShowCmd)
End Sub
A na tlačítka:
Private Sub
cmdShowDesktop_Click()
Dim hWnd As Long
On Error Resume Next
'Najdeme okno a schováme
hWnd = FindShellWindow()
If hWnd <> 0 Then
Call HideShowWindow(hWnd)
End If
End Sub
Private Sub cmdHideDesktop_Click()
Dim hWnd As Long
On Error Resume Next
hWnd = FindShellWindow()
If hWnd <> 0 Then
Call HideShowWindow(hWnd, True)
End If
End Sub
Pusťte projekt a vyzkoušejte
tlačítka.
|