Desktop aktualisieren

themadman

Mitglied
Servus Leute,

Ich bin gerade mal wieder auf ein Problem gestoßen und weiß absolut nicht wie ich es lösen soll :(

Ich möchte den Desktop "Aktualisieren", aber wie schaffe ich das aus meinem Programm raus die hWnd des Desktops hab ich bereits... ist bestimmt nicht schwer jetzt irgendwie nen refresh Befehl zu geben oder
hoffe ihr könnt mir helfen...

MfG
Mike
 
Versuch´s mal hiermit:
Code:
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function UpdateWindow Lib "user32" (ByVal hwnd As Long) As Long

Private Sub Command1_Cklick()
    UpdateWindow GetDesktopWindow
End Sub
 
Falls der vorherige Tip nicht :
Code:
Private Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, _
lpRect As Long, ByVal bErase As Long) As Long

Private Sub Command1_Click()
            Dim lRet As Long
            lRet = RefreshDesktop(0&)
            If lRet <> 0 Then
                MsgBox " Desktop Refresh wurde ausgeführt..."
            Else
                MsgBox " Desktop Refresh konnte nicht ausgeführt werden..."
            End If
End Sub

Public Function RefreshDesktop(ByVal hwnd As Long, Optional nMode As Long) As Long
    Dim lRet As Long
    lRet = InvalidateRect(hwnd, 0&, False)
    If lRet <> 0 Then
        RefreshDesktop = InvalidateRect(hwnd, 0&, False)
    Else
        MsgBox "Error..."
    End If
End Function
 
Danke erstmal für deine schnelle Hilfe nur Leider ist es nicht das gewünschte Ergebins :(

Und zwar "refresht" er den Desktop auch und bringt auch die MsgBox aber was ich eigentlich erreichen will ist folgendes....

wenn man auf dem Desktop einen Rechstsklick macht dann öffnet sich das contextmenu und man kann "Aktualisieren wählen" dann liest es den Desktop komplett neu ein (was ich nämlich will ist, das die Unterschriften unter den Icons aktualisiert werden) und das geht mit deiner Funktion von vorhisn nleider nicht :((

hast du oder jemand anders noch ne idee wie ich das schaffe?

MfG
Mike
 
Zurück