Simulați intrarile de la tastatura
Cărți → Delphi. Stunts & Effects → Simulate tastatura
Tastele de stare de pe tastatură, puteți nu numai pentru a determina, de asemenea, este posibil să se schimbe programul. Luați în considerare una dintre modalitățile de taste de program, care este extrem de simplă datorită keybdevent API-funcție, doar destinate pentru a simula intrarile de la tastatura.
Atribuirea de parametri pentru a explica acest exemplu funcția (listare 3.18).
Procedura TForm1.cmbStartClick (Expeditor: TObject);
// simularea apăsând tasta Windows
keybd_event (VK_LWIN, 0, 0, 0);
// simulând lansarea cheie pentru Windows
keybd_event (VK_LWIN, 0, KEYEVENTF_KEYUP, 0);
Suntem interesați, în special, primul și al treilea parametru funcția keybdevent (al doilea nu este utilizat, iar al treilea este destinat pentru instalarea de informații suplimentare referitoare la apăsarea tastei). Primul parametru a trecut la funcția de „împingere“ sau cod „alocată de“ cheie. Al treilea parametru este zero atunci când „apăsat“, iar la KEYEVENTF_KEYUP constantă „a lansat“ cheie.
Atunci când se utilizează keybd_event important - nu uitați să „da drumul“ intrarile de la tastatura software-ul (ca în exemplele de aici). În caz contrar, există riscul generos „Mr. hașuri“ de intrare tastatură.
Similar cu exemplul din software-ul Listarea 3,18 apăsând tasta Print Screen (elimina copia de pe ecran) este în Listarea 3,19.
Procedura TForm1.cmbPrintScreenClick (Expeditor: TObject);
// Împingeți ecranul de imprimare
keybd_event (VK_SNAPSHOT, 0, 0, 0);
keybd_event (VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0);
3.20 Listarea este un exemplu de apăsarea combinației de mai multe taste (Windows + M pentru a minimiza toate ferestrele).
Procedura TForm1.cmbMinimizeAllClick (Expeditor: TObject);
keybd_event (VK_LWIN, 0, 0, 0);
keybd_event (Byte ( 'M'), 0, 0, 0);
keybd_event (Byte ( 'M'), 0, KEYEVENTF_KEYUP, 0);
keybd_event (VK_LWIN, 0, KEYEVENTF_KEYUP, 0);
Se adaugă la această cheie Shift combinație va restabili starea inițială a ferestrelor.
Ultimul exemplu ilustrează modul în care puteți utiliza software-ul pentru a accelera taste de acces rapid la programe. Aceasta se referă la software-ul apăsând tastele de comenzi rapide asociate cu comenzi rapide pe desktop sau în meniul Start. Să presupunem că computerul utilizează comanda rapidă de la tastatură Ctrl + Alt + E pentru a lansa Internet Explorer. software-ul EXEMPLUL apăsarea acestei combinații de taste este prezentată în Listarea 3.21.
Procedura TForm1.cmbEIxplorerClick (Expeditor: TObject);
// Împingeți combinația de Ctrl + Alt + E
keybd_event (VK_CONTROL, 0, 0, 0);
keybd_event (VK_MENU, 0, 0, 0);
keybd_event (Byte ( 'E'), 0, 0, 0);
keybd_event (Byte ( 'E'), 0, KEYEVENTF_KEYUP, 0);
keybd_event (VK_MENU, 0, KEYEVENTF_KEYUP, 0);
keybd_event (VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
Ultimul exemplu este util mai ales pentru rularea mai multor programe (pentru această etichetă aceste programe trebuie să fie atribuite comenzi rapide de la tastatură).