Autor Téma: odesílání kláves Delphi X5  (Přečteno 307 krát)

Offline karkojk

  • Mladík
  • **
  • Příspěvků: 55
  • Karma: 0
    • Verze Delphi: RAD Studio X5
odesílání kláves Delphi X5
« kdy: 23-10-2023, 23:15:30 »
Ahoj,
chtěl jsem z Delphi X5 odesílat na různé aplikace skripty/makra/texty a docela jsem narazil.
Nikde ani zde jsem nic moc kolem toho nenašel, když tak jsem místo požadovaného textu odesílal čísla atd.
Nakonec jsem došel sem, nevím zda ještě něco vykoukne, či kolikrát to budu upravovat.

Kód: Delphi [Vybrat]
  1. procedure TForm1.SendKeys(const Text: string);
  2. var
  3.   i: Integer;
  4.   vk: Word;
  5.   vk_low, vk_high: Byte;
  6. begin
  7.   for i := 1 to Length(Text) do
  8.   begin
  9.     vk := VkKeyScan(Text[i]);
  10.     vk_low := LoByte(vk);
  11.     vk_high := HiByte(vk);
  12.    
  13.     if vk_high <> 0 then  // Pokud je potřeba stisknout modifikační klávesu
  14.       keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), 0, 0);
  15.    
  16.     keybd_event(vk_low, MapVirtualKey(vk_low, 0), 0, 0);
  17.     keybd_event(vk_low, MapVirtualKey(vk_low, 0), KEYEVENTF_KEYUP, 0);
  18.  
  19.     if vk_high <> 0 then  // Pokud je potřeba uvolnit modifikační klávesu
  20.       keybd_event(VK_SHIFT, MapVirtualKey(VK_SHIFT, 0), KEYEVENTF_KEYUP, 0);
  21.   end;
  22. end;

Co používáte vy? Taky jsem hledal něco na „přemapovávání“ hardware, nějaké klávesy či z tabletu Wacom.
díky za případný tip, nasměrování.
   
Programování pro radost, prý to bystří mysl ;-)