Arkadaşlar şu kod ile tuşların durumlarını kontrol edebiliyorum. (örnekte sadece capslock var). Formun üzerinde focuslu haldeyken sorun yok ama başka bir program kullanırken bu değerler değişmiyor. Mouse imlecini formun üzerine getirince değerler değişiyor. (Timer değeri 100ms., OS: Windows 7 Pro. Delphi 2010)
procedure TForm1.Timer1Timer(Sender: TObject);
var keys: TKeyboardState;
begin
GetKeyboardState( keys );
if keys[VK_CAPITAL]=0 then
begin
labal1.Font.Color:=clRed;
label1.Caption:='Kapalı'
end
else
begin
label1.Font.Color:=clGreen;
label1.Caption:='Açık'
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
// capslock test :)=
if (GetKeyState(VK_CAPITAL) and $01)<>0 then
begin
label1.Color:=clred;
label1.Caption:='AÇIK';
end
else
if (GetKeyState(VK_CAPITAL) and $01)=0 then
begin
label1.Color:=clYELLOW;
label1.Caption:='KAPALI';
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
// capslock test :)=
if (GetKeyState(VK_CAPITAL) and $01)<>0 then
begin
label1.Color:=clred;
label1.Caption:='AÇIK';
end
else
if (GetKeyState(VK_CAPITAL) and $01)=0 then
begin
label1.Color:=clYELLOW;
label1.Caption:='KAPALI';
end;
end;
kablosuz microsoft klavye kullanıyorum ve bu tuşların ışıkları olmadığı için durumlarını göremiyorum. zaman kaybı oluyor, bu yüzden bi program yazıp tray icon da durumlarını görmek istiyorum.