Rubrik: System/Windows · Desktop/Bildschirm/Display | VB-Versionen: VB4, VB5, VB6 | 23.02.01 |
Windows-Startbutton manipulieren Dieser Trick zeigt, wie man den Windows-Startbutton verstecken, disablen oder auch verschieben kann. | ||
Autor: Wolfgang Kluge | Bewertung: | Views: 32.028 |
www.vbwelt.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Dieser Trick zeigt, wie man den Start-Button der Windows-Taskleiste manipulieren kann. Der Button kann versteckt, disabled oder auch verschoben werden. Was man dazu braucht, ist eigentlich nur das Handle des Buttons. Diese erhält man über die WinAPI's FindWindow und GetWindows.
' zunächst die benötigten API-Deklarationen Private Declare Function FindWindow Lib "user32" _ Alias "FindWindowA" ( _ ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long Private Declare Function GetWindow Lib "user32" _ Alias "GetWindow" ( _ ByVal hwnd As Long, _ ByVal wCmd As Long) As Long Private Const GW_CHILD = 5 ' Verstecken Private Declare Function ShowWindow Lib "user32" _ Alias "ShowWindow" ( _ ByVal hwnd As Long, _ ByVal nCmdShow As Long) As Long Private Const SW_HIDE = 0 Private Const SW_RESTORE = 9 ' Schließen Private Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" ( _ ByVal hWnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As Long Private Const WM_CLOSE = &H10 ' Verschieben 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_NOSIZE = &H1
Richtig eingesetzt kann man mit diesem Handle jetzt eigentlich alles machen...Man kann den Button verschieben, disablen, verstecken oder schließen..und mehr...
Der erste Teil bleibt hierbei immer gleich:
Dim ret As Long ret = FindWindow("shell_traywnd", "") ret = GetWindow(ret, GW_CHILD)
Um jetzt die Veränderungen durchzuführen nimmt man das Handle und verändert die Eigenschaften der Fensterklasse - fast nach belieben.
' Verstecken ShowWindow ret, SW_HIDE ' wieder anzeigen ShowWindow ret, SW_RESTORE ' Schließen ' (kann erst nach Neustart wieder angezeigt werden) SendMessage ret, WM_CLOSE, 0&, 0& ' Verschieben SetWindowPos ret, 0&, 950&, 0&, 0&, 0&, SWP_NOSIZE