Arkadaslar bir sinav programi yaziyorum. Klavyeyi tum windows uygulamalari icin kilitlemeyi istiyorum(mouse degil ve Ctrl-Esc gibi kombinasyonlar ile birlikte). Daha once klavye kilitleme ile ilgili kodlarin hepsini okudum. yanliz bunlarda mouseda kilitleniyor. veya ctrl-esc gibi kombinasyonlar kilitlenmiyor.
Yardimlariniz icin simdiden tesekkurler...
Klavyeyi(mouse degil) tum win uygulamalari icin kilitlemek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Aşağıdaki kodu ben denemedim ancak anladığın kadarı ile uzun süreli işlemler yaptığında kullanıcının klavye veya mouse'unu bu yöntemle kilitleyebiliyorsun.
iyi çalışmalar.
iyi çalışmalar.
Kod: Tümünü seç
The method below will show how you can disable any mouse/keyboard actions:
you may assign a handler to Application.OnMessage:
Application.OnMessage := yourOnMessageHandler
where
procedure TForm1.yourOnMessageHandler(var Msg: TMsg; var Handled: Boolean);
begin
case Msg.Message of
WM_KEYFIRST..WM_KEYLAST, WM_MOUSEFIRST, WM_MOUSELAST:
Handled := True
end;
end;
Very important: you must remove a handler when your data processing is completed (or in OnDestroy event of main form)
A basic scheme of data processing:
begin
Application.OnMessage := yourOnMessageHandler;
<your long calculation>
while <...> do
begin
<your calculations>
<update a progressbar/statistic>;
Application.ProcessMessages
end;
Application.OnMessage := nil;
end;
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.