Come posso inviare sequenze di tasti per un solo programma?
Domanda
Ho avuto un momento difficile trovare qualcosa che è utile ma ho trovato qualcuno ha chiesto come fare, ( Come inviare sequenze di tasti a una finestra? )
Se utilizzato il codice e posso impostare il testo del blocco note, ma voglio inviare le chiavi, ma imposta il testo, i Voglio inviare tasti come keybd_event ho utilizzato, ma voglio solo farla inviare a un programma.
keybd_event('a', NULL, NULL, NULL);
keybd_event('a', NULL, KEYEVENTF_KEYUP, NULL);
come potrei farlo?
Soluzione
Sembra che si sta cercando di fare una finestra ha la messa a fuoco prima di inviare le chiavi. Guardate FindWindow
e SetForegroundWindow
.
Qualcosa del genere dovrebbe funzionare:
SetForegroundWindow(FindWindow(0,"Untitled - Notepad"));
keybd_event(....);
Se invece si sta parlando di cambiare direttamente il testo di una finestra, guarda GetWindow
per navigare l'albero finestra e SendMessage
con un WM_SETTEXT
parametro.