Moin toms,
gemäss Doku sollte man allerdings bei einer Anwendung IDs im Bereich $0000 bis $BFFF verwenden, und bei DLLs $C000 bis $FFFF.
GlobalAddAtom liefert allerdings Werte ab $C000 zurück, weshalb der Aufruf für eine ID bei RegisterHotKey nur aus einer
DLL heraus erfolgen sollte, nicht aus einer Anwendung.
Vielleicht ist das auch die Ursache dafür, dass es aus einem Spiel heraus nicht funktioniert, denn dieses Phänomen konnte ich nicht beobachten (bei ID < $C000, aus einer Anwendung heraus).
Ausserdem sollte man noch darauf hinweisen, dass man bei GlobalAddAtom eindeutige Strings verwenden sollte. Wird ein String übergeben, der bereits in der Atomtable steht, wird ja wieder dessen Wert zurückgegeben. Das ist hier zwar unkritisch, sollte m.E. aber doch erwähnt werden.