Hallo Motzi, danke, daß Du reagiertest!
Aber die beiden Überprüfungen des return codes von GetMessage machen schon Sinn. Laut GetMessage Doku (
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx) kann der return code -1, false oder true sein. In Delphi wird jeder Wert ungleich 0 als true gewertet, das wäre also auch für -1 der Fall. Da dieser Rückgabewert allerdings einen Fehlerfall darstellt muss dieser explizit überprüft werden. Darauf wird in der Doku auch explizit hingewiesen.
Das war mir durchaus klar. Nicht klar ist mir hingegen, wie "falsche" Handles oder Pointer in das GetMessage "hineinrutschen" sollen - es werden ja nur die Werte ermittelt, die aus dem eigenen Programm stammen.
Vermutlich muß einiges verquer laufen und im argen liegen (fehlerhafte Speicherzellen?), daß so etwas passiert bzw. passieren kann. Ist auch nicht so wichtig. Bei mir läuft es beständig ohne, und damit bin ich auch zufrieden.