Klavyeden Herhangi 2 tuşa sn de basmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
PeeRLeeSS
Üye
Mesajlar: 16
Kayıt: 12 Nis 2006 08:35

Klavyeden Herhangi 2 tuşa sn de basmak

Mesaj gönderen PeeRLeeSS »

Klavyeden Herhangi 2 tuşa sn de basmakistiyorum mesele Z ve R tuşlarına Ard arda basılacak birde sn ye koyacam delay kaç sn de bir tekrarlicanı belirtecem birde program önplandamı arkaplanda mı çalışacak çok lazım :)
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Mesaj gönderen Battosai »

"sn" nedir?
birde program önplandamı arkaplanda mı çalışacak çok lazım
Ne bileyim ben nerde çalışacak. Soru sorarken biraz dikkat edelim.Güzel cümleler ile ne istediğini iyi ifade etmen lazım...
PeeRLeeSS
Üye
Mesajlar: 16
Kayıt: 12 Nis 2006 08:35

Mesaj gönderen PeeRLeeSS »

istediğim tek şey programla klavyeye hükmederek Z ve R tuşlarına Ard arda basması ve saniye koyulması kaç sn de bir basılması gerekli..
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Mesaj gönderen Battosai »

Yoksa sen bunu Oyunlar için mi düşünüyorsun seri olma olayı yani :twisted:

Kod: Tümünü seç

//Çalışan bir uygulamaya tuş(lar) göndermek
//-----------------------------------------

uses windows;

function  SendKeys(ClassOrCaption:PChar;Keys:array of Integer):Boolean;
var
  hW:HWND;
  Ix:Integer;
begin
  hW:=FindWindow(ClassOrCaption,nil);
  if hW<=0 then hW:=FindWindow(nil,ClassOrCaption);
  Result:=hW>0;
  if Result then begin
    Result:=SetForeGroundWindow(hW);
    if not Result then Exit;
    for Ix:=0 to High(Keys) do KeyBd_Event(Keys[Ix], 0, 0, 0);
    for Ix:=High(Keys) downto 0 do Keybd_Event(Keys[Ix], 0, KEYEVENTF_KEYUP, 0);
  end;
end;


//Örnek kullanım :
//----------------

//Birinci Örnek : ( Sınıf Adı ile )

//Hesap Makinesi uygulamasına 123 sayısını göndermek için ;

SendKeys('SciCalc',[49,50,51]); // Chr(49)=1, Chr(50)=2, Chr(51)=3

//----------------

//İkinci Örnek : ( Başlık metni ile - Caption )

//Windows Media Player ' i tam ekran yapmak için ;

SendKeys('Windows Medya Player', [VK_Menu, VK_Return]);   // Alt+Enter

//----------------

//İyi çalışmalar...
Bu kodlar işine yarayabilir...Burda uygulaman arka planda çalışıyorken örnekteki gibi timer içine yazarsın sendkey fonksiyonunu... timer interval de 1000 yaparsan her saniyede işlem tekrarlanır...
PeeRLeeSS
Üye
Mesajlar: 16
Kayıt: 12 Nis 2006 08:35

Mesaj gönderen PeeRLeeSS »

Teşekkürler.
Jire
Üye
Mesajlar: 167
Kayıt: 07 Eki 2007 01:20

Mesaj gönderen Jire »

Delphinin SendKeys ini kullanabilirsin.
Tabi yukardaki func ondanmı alındı bilmiyorum.
Cevapla