правильно, DefWindowProc вообще ни при чем, как я уже писал об этом выше. как такой вариант:
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
Windows, Messages;
var
AMsg: TMsg;
Tag: Integer = 0;
begin
if not RegisterHotKey(0, 1, MOD_CONTROL, Ord('V')) then
begin
Writeln('!RegisterHotKey');
Readln;
end else
begin
while GetMessage(AMsg, 0, 0, 0) do
begin
if AMsg.message=WM_HOTKEY then
begin
Writeln('WM_HOTKEY');
Inc(Tag);
if Tag=5 then Break;
end;
end;
UnregisterHotKey(0, 1);
end;
end.
здесь вообще нет окна и естественно оконной процедуры, а только очередь сообщений.