Falls es jemanden noch interessiert und evtl. auch mal in die Situation kommen sollte, kommen hier noch ein paar Anmerkungen. Da ich jetzt einfach nur rumsitze und auf die DLL warte, habe ich mir nochmals meinen Code und die WinAPI bzw. die MSDN Zur Hand genommen. Und habe folgenden Befehl gefunden:
Auf diesen Befehl hin bekomme ich eine Rückmeldung von meiner msg, in Form einer 1. Was bedeutet, dass alles soweit korrekt initialisiert wurde. Ich kann mir das nur damit erklären, das meine msg im Bereich unter $7FFF liegt und somit als Privat deklariert wird und "SetWindowCallback" evtl. nur auf msg's reagiert die entweder über $7FFF liegen oder ausschließlich auf Windows reagieren.
Leider das gleiche Ergebnis *heul*. Laut MSDN, die ich mir gestern mit C++.net daraufgespielt habe, sagt, dass wenn dwError und GetLastError gleich Null sind, dann ist ein Timeout aufgetreten. Also reagiert die Anwendung nicht auf meinen Request
Den Fehler habe ich behoben. Ich hatte vergessen folgendes zuschreiben:
Code: Alles auswählen
CreateFileMapping_($FFFFFFFF, 0, 4, #Null, $7FFF, @szName)
Danach funktionierte auch die SendMessageTimeout-Funktion. "@dwError" meldete mir eine '1' und GetLastError eine '0' zurück, was lt. MSDN richtig sein sollte. Hier der Ausschnitt aus der MSDN über die SendMessageTimeout-Funktion:
Return Value
If the function succeeds, the return value is nonzero.
If the function fails or times out, the return value is zero. To get extended error information, call GetLastError. If GetLastError returns zero, then the function timed out. SendMessageTimeout does not provide information about individual windows timing out if HWND_BROADCAST is used.
Ich hoffe ich habe den Abschnitt richtig verstanden
