Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[VB] Windows Clock

Pagina: 1
Acties:

  • apronk
  • Registratie: Maart 2007
  • Laatst online: 11-11 14:36
Beste medetweakers,

Ik zit al een paar dagen met een probleem.
Zoals menigeen weet kan je de klok op de Windows Taskbar aan- en uitzetten.
Ik probeer dit voor elkaar te krijgen in VB, maar ik kom er niet.
Het object heb ik gevonden, en ik kan m wel verbergen en terughalen, alleen blijft de ruimte waarin de clock staat er gewoon staan, dus hij wordt alleen onzichtbaar en niet uit de taskbar verwijderd.
Nu is mijn hoop dat een van jullie dit wel voor elkaar weet te krijgen, hier is de code om m te verbergen:
code:
1
2
3
4
5
6
7
8
9
10
Private 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
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Dim shelltraywnd As Long, traynotifywnd As Long, trayclockwclass As Long
Sub HideClock()
    shelltraywnd = FindWindowEx(0, 0, "shell_traywnd", vbNullString)
    traynotifywnd = FindWindowEx(shelltraywnd, 0&, "traynotifywnd", vbNullString)
    trayclockwclass = FindWindowEx(traynotifywnd, 0&, "trayclockwclass", vbNullString)
    ShowWindow trayclockwclass, 0 
    'set to 5 to show again
End Sub

  • apronk
  • Registratie: Maart 2007
  • Laatst online: 11-11 14:36
Uiteindelijk zelf gevonden. De code was goed, maar er moet een update message gestuurd worden:
code:
1
2
3
4
5
6
Private Declare Function SendNotifyMessage Lib "user32" Alias "SendNotifyMessageA" (ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, lParam As Any) As Long
    
Private Const HWND_BROADCAST = &HFFFF
Private Const WM_SETTINGCHANGE = &H1A

SendNotifyMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0)