Есть простейшая программа - форма, на ней
TImage и таймер. запускаю ее и начинаю на клаве набивать символы, хаотично, иногда цифры,
Enter,
Alt+Shift, пробел, в общем, кнопки на основном участке клавиатуры.
В какой-то момент в программа останавливается на
breakpoint'е:
8 - это виртуальный код клавиши
BackSpace. Но я её не жму! Откуда он взялся?
Вот как лог выглядит:
.................etc ........................
wParam: 68 lParam: 2097153
wParam: 70 lParam: 2162689
wParam: 68 lParam: -1071644671
wParam: 83 lParam: -1071710207
wParam: 70 lParam: -1071579135
wParam: 13 lParam: 1073741825
wParam: 13 lParam: -2145648639
wParam: 83 lParam: 2031617
wParam: 70 lParam: 2162689
wParam: 8 lParam: 1
wParam: 8 lParam: -1073741823
wParam: 8 lParam: 1
wParam: 8 lParam: -1073741823
wParam: 83 lParam: 1073741825
wParam: 83 lParam: -1073741823
wParam: 70 lParam: 1073741825
wParam: 70 lParam: -1073741823
wParam: 83 lParam: -2145452031
................etc .........................
procedure TMainForm.Wndproc(var Message: TMessage);
var
strLog: AnsiString;
begin
case Message.Msg of
WM_KEYDOWN, WM_SYSKEYDOWN, WM_SYSKEYUP, WM_KEYUP:
begin
strLog := 'wParam: ' + IntToStr(Message.wParam) + ' lParam: ' + IntToStr(Message.lParam);
end;
else
inherited;
end;
end;
Как отследить откуда прилетел месидж?
Delphi XE