procedure TForm1.Button1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var i ,j,k:word;
begin
i := GetKeyState(VK_LSHIFT);
j := GetKeyState(VK_RSHIFT);
k := GetKeyState(VK_SHIFT);
if (( i and $80)<>0) then
begin
showmessage('left shift key has down.');
end
else if (( j and $80)<>0) then
begin
showmessage('Right shift key has down.');
end;
if (( k and $80)<>0) then
begin
showmessage('shift key has down.');
end;