Klavyeyi(mouse degil) tum win uygulamalari icin kilitlemek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
fatihtalu
Üye
Mesajlar: 3
Kayıt: 10 Ara 2004 02:17
İletişim:

Klavyeyi(mouse degil) tum win uygulamalari icin kilitlemek

Mesaj gönderen fatihtalu »

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...
Kullanıcı avatarı
tuanna
Üye
Mesajlar: 582
Kayıt: 06 Ara 2004 05:01
Konum: Ankara
İletişim:

Mesaj gönderen tuanna »

lmd tools componentin içinde system info diye bir bileşen seti olacak ondan klavyenin ve farenin durumunu kontrol edebiliyorsun sanırım bu işini görecektir....
Kullanıcı avatarı
Asri
Kıdemli Üye
Mesajlar: 767
Kayıt: 16 Eyl 2003 09:54
Konum: istanbul

Mesaj gönderen Asri »

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.

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.
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Mesaj gönderen TRSoft »

İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
Cevapla