1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| if (Msg.message = WM_KEYDOWN) and
(Msg.wParam = VK_DECIMAL) and
(DecimalSeparator = ',') then
begin
if Odd(GetKeyState(VK_CAPITAL)) then // Caps Lock actif; il faut simuler l'action de Maj+, sinon, on obtient un '?'
begin
keybd_event(VK_SHIFT,0,0,0); // Shift Down
keybd_event(VkKeyScan(DecimalSeparator),0,0,0); // ',' Down
keybd_event(VkKeyScan(DecimalSeparator),0,2,0); // ',' Up
keybd_event(VK_SHIFT,0,2,0); // Shift Up
Handled := True;
end
else // Caps Lock inactif, l'envoi de la VK_KEY ',' est suffisant
Msg.wParam := 188;
end; |
Partager