Da ich keinen besseren Ort gefunden habe hier eine kleine Korrektur zum Thread
Das Handle eines Fensters herausfinden. Bitte nach Bearbeitung löschen/verschieben.
Wie an unzähligen anderen Stellen (sei es die Demokomponente TShellTreeView oder diverse C- oder Delphi-Quelltexte die man im Internet findet) wurde
INVALID_HANDLE_VALUE mit
ERROR_INVALID_HANDLE vertauscht. Wie mir scheint ein "Standar
t Fehler"
ERROR_INVALID_HANDLE wird von GetLastError geliefert, wenn man einer Funktion wie GetFileInformationByHandle() ein ungültiges
Handle übergibt. Es beschreibt also den Grund für den Fehlschlag. (Result = 0, GetLastError =
ERROR_INVALID_HANDLE). Die Funktion braucht ein
Handle und liefert bei Erfolg eine zugehörige Datenstruktur zurück.
INVALID_HANDLE_VALUE wird
als wie der Name schon sagt fehlerhaftes(ungültiges)
Handle zurückgegeben wenn eine Funktion wie CreateToolHelp32Snapshot() fehlschlägt, d.h. wenn sie kein gültiges
Handle zurückgibt. GetLastError liefert dann einen Grund dafür dass kein
Handle geliefert werden konnte (ERROR_LUNCH_HOUR..).
Der Wert
ERROR_INVALID_HANDLE könnte durchaus solch ein gültiges
Handle sein welcher verarbeitet werden kann und mit CloseHandle() geschlossen werden muss!
Der Fehler tritt leider selten auf da die Funktionsaufrufe bei sauberer Programmierung ja meist erfolgreich sind.
Grüsse, Dirk