28/03/2005, 14:54
|
| | | Fecha de Ingreso: febrero-2005 Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 8 meses Puntos: 1 | |
Control total del taskbar Con esto puedes ocultar y/o mostrar los iconos que se encuentran al aldo del reloj del taskbar.
En un módulo:
Código:
Public isvisible As Integer
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, y, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const TOPMOST_FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public 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
Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Public Function HideTaskBarIcons()
Dim FindClass As Long, Handle As Long
FindClass& = FindWindow("Shell_TrayWnd", "")
Handle& = FindWindowEx(FindClass&, 0, "TrayNotifyWnd", vbNullString)
ShowWindow Handle&, 0
End Function
Public Function ShowTaskBarIcons()
Dim FindClass As Long, Handle As Long
FindClass& = FindWindow("Shell_TrayWnd", "")
Handle& = FindWindowEx(FindClass&, 0, "TrayNotifyWnd", vbNullString)
ShowWindow Handle&, 1
End Function
Public Function HideTaskBarClock()
Dim FindClass As Long, FindParent As Long, Handle As Long
FindClass& = FindWindow("Shell_TrayWnd", vbNullString)
FindParent& = FindWindowEx(FindClass&, 0, "TrayNotifyWnd", vbNullString)
Handle& = FindWindowEx(FindParent&, 0, "TrayClockWClass", vbNullString)
ShowWindow Handle&, 0
End Function
Public Function ShowTaskBarClock()
Dim FindClass As Long, FindParent As Long, Handle As Long
FindClass& = FindWindow("Shell_TrayWnd", vbNullString)
FindParent& = FindWindowEx(FindClass&, 0, "TrayNotifyWnd", vbNullString)
Handle& = FindWindowEx(FindParent&, 0, "TrayClockWClass", vbNullString)
ShowWindow Handle&, 1
End Function
Public Function HideDesktop()
ShowWindow FindWindowEx(FindWindowEx(FindWindow("Progman", vbNullString), 0&, "SHELLDLL_DefView", vbNullString), 0&, "SysListView32", vbNullString), 0
End Function
Public Function ShowDesktop()
ShowWindow FindWindowEx(FindWindowEx(FindWindow("Progman", vbNullString), 0&, "SHELLDLL_DefView", vbNullString), 0&, "SysListView32", vbNullString), 5
End Function
Public Function HideStartButton()
Dim Handle As Long, FindClass As Long
FindClass& = FindWindow("Shell_TrayWnd", "")
Handle& = FindWindowEx(FindClass&, 0, "Button", vbNullString)
ShowWindow Handle&, 0
End Function
Public Function ShowStartButton()
Dim Handle As Long, FindClass As Long
FindClass& = FindWindow("Shell_TrayWnd", "")
Handle& = FindWindowEx(FindClass&, 0, "Button", vbNullString)
ShowWindow Handle&, 1
End Function
Public Function HideTaskBar()
Dim Handle As Long
Handle& = FindWindow("Shell_TrayWnd", vbNullString)
ShowWindow Handle&, 0
End Function
Public Function ShowTaskBar()
Dim Handle As Long
Handle& = FindWindow("Shell_TrayWnd", vbNullString)
ShowWindow Handle&, 1
End Function
Public Sub MakeNormal(hwnd As Long)
SetWindowPos hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS
End Sub
Public Sub MakeTopMost(hwnd As Long)
SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS
End Sub
En el form:
Código:
Dim ico As Integer
Dim clo As Integer
Dim stb As Integer
Dim tsk As Integer
Dim dsk As Integer
Private Sub Command1_Click()
If isvisible = 1 Then
If ico = 0 Then
ShowTaskBarIcons
ico = 1
ElseIf ico = 1 Then
HideTaskBarIcons
ico = 0
End If
ElseIf isvisible = 0 Then
End If
End Sub
Private Sub Command2_Click()
If isvisible = 1 Then
If clo = 0 Then
ShowTaskBarClock
clo = 1
ElseIf clo = 1 Then
HideTaskBarClock
clo = 0
End If
ElseIf isvisible = 0 Then
End If
End Sub
Private Sub Command3_Click()
If isvisible = 1 Then
If stb = 0 Then
ShowStartButton
stb = 1
ElseIf stb = 1 Then
HideStartButton
stb = 0
End If
ElseIf isvisible = 0 Then
End If
End Sub
Private Sub Command4_Click()
If isvisible = 1 Then
If tsk = 0 Then
ShowTaskBar
tsk = 1
ElseIf tsk = 1 Then
HideTaskBar
tsk = 0
End If
ElseIf isvisible = 0 Then
End If
End Sub
Private Sub Command5_Click()
If isvisible = 1 Then
If dsk = 0 Then
ShowDesktop
dsk = 1
ElseIf dsk = 1 Then
HideDesktop
dsk = 0
End If
ElseIf isvisible = 0 Then
End If
End Sub
Private Sub Command6_Click()
If isvisible = 1 Then
ShowTaskBarIcons
ShowTaskBarClock
ShowDesktop
ShowStartButton
ShowTaskBar
ico = 1
clo = 1
stb = 1
tsk = 1
dsk = 1
ElseIf isvisible = 0 Then
End If
End Sub
Private Sub Form_Load()
MakeTopMost Me.hwnd
isvisible = 1
ico = 1
clo = 1
stb = 1
tsk = 1
dsk = 1
End Sub
...
__________________ ホルヘ・ラファエル・マルティネス・レオン
Última edición por vbx3m; 10/05/2006 a las 12:25
Razón: Error en una sentencia
|