es ist Dein Fehler ^^ - der Speicher kann zwar defekt sein, aber darum kümmert sich die Hardware (in dem Fall der Speicherriegel selber)
Mir schwirrt da jetzt was wie „das Objekt pinnen“ im Kopf rum. Ich weis nicht ob da .NET es an der Stellen (in dem es den Pointer erzeugt) automatisch macht. Der GC kann bei der nächsten Zeile das Objekt schon iweder woanders hin verschoben haben. Dein Pointer zeigt aber noch auf den alten Speicherbereich.
Das ist aus der Standart-Library. Wenn Du direkt .NET startest wird die aber nicht initialisiert - wie das geht habe ich nie raus bekommen. Meine letzten Versuche an der Stellen waren noch .NET 1.1.
Außerdem die wichtigste Frage - an welcher Stelle bricht er den ab? Schon mit dem Debugger Zeile für Zeile durch gelaufen
das sieht auch komisch aus - Du machst hier aus einem HWND ein IntPtr - das sind zwei verschiedene Dinge (ich will jetzt aber darüber auch nicht weiter nach denken)
Danke mogel für deine Schnelle Antwort, ich habe den fehler gefungen und es erst mal zum testen in ner Win32 Konsolen Anwendung versucht. Es fehlt die Callback methode.
Dort wo Du die Funktion verwendest (EnumChildWindows) ist die Funktion noch unbekannt. Tausche mal einfach beide Funktionen in der Reihenfolge in der CPP