Start-Button verändern
Die Überschrift ist nicht die beste, da es eigentlich kein richtiges verändern ist. Nur temporär...
Aber was solls...man kann an besagtem Startbutton schön rumspielen.
Was man dazu braucht, ist eigentlich nur das Handle des Buttons.
Um dieses zu bekommen braucht man..
Deklaration: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
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
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
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 dabei immer der gleiche:
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, wie man es für richtig hält.
ShowWindow ret, SW_HIDE
ShowWindow ret, SW_RESTORE
SendMessage ret, WM_CLOSE, 0&, 0&
SetWindowPos ret, 0&, 950&, 0&, 0&, 0&, SWP_NOSIZE