私が作成したシステム全体のキーボード フック DLL は、Windows XP で何年も正常に動作しています。
ただし、特定の新しいバージョンの Windows (Vista Home Premium と Windows 7 など) では、フックがまったく機能しないか、インストールしたアプリケーション内でローカルにのみ機能するようです。
インターネット上のいくつかの場所で、SetWindowsHookEx の呼び出しで WH-KEYBOARD を WH-KEYBOARD-LL に変更するよう提案されているのを見たことがありますが、試してみたところ、これは役に立たないようです。フックタイプを WH-KEYBOARD-LL に変更する以外に何か変更する必要はありますか?
(PS: Delphi では定義されていないため、WH-KEYBOARD-LL を 13 と定義する必要がありました。これは正確であると想定しています。)