Guten Morgen.
Wenn du Konstanten mehrmals verwendest, dann ist eine Konstantenvereinbarung vorteilhaft. Wenn du dann noch die richtige Konstante verwendest - um so besser.
Delphi-Quellcode:
const
PREV_KEY_STATE = 1 shl 30; // $40000000
begin
// ...
if lparam and PREV_KEY_STATE = PREV_KEY_STATE then Beep;
// Ohne Konstante geht es auch so:
if Odd(lparam shr 30) then Beep;
// ..
end;
Edit: Das nur zu deinem Delphi-Problem. Zu deinem Problem mit Windows hat Robert schon was geschrieben.
Grüße vom marabu