Schicke mit
SendMessageTimeOut WM_NULL ab das Fenster. Und wenn die Funktion mit dem Wert 0 zurückkehrt ist sie entweder fehlgeschlagen oder der TimeOut wurde überschritten. Jetzt musst du dir nur noch überlegen, ab wie viel Millisekunden du das Programm für abgestürzt erklärst. Windows verfährt übrigens ähnlich, wenn es im Taskmanager anzeigt: "Reagiert nicht mehr". Das heißt, dieser Zustand kann auch eintreten, wenn das Programm in einer längeren Schleife steckt und deshalb keine Nachrichten aus der Nachrichtenschlange abholen kann.