Domanda
Sto usando SendKey
e quelle funzioni per inviare sequenze di tasti a una finestra situata dal suo Nome finestra
[DllImport("user32.dll")]
public static extern int FindWindow(
string lpClassName, // class name
string lpWindowName // window name
);
[DllImport("user32.dll")]
public static extern int SetForegroundWindow(
int hWnd // handle to window
);
Esiste un altro modo per inviare la sequenza di tasti a una finestra senza metterla in primo piano?
Sto cambiando tra molte finestre e SendKey
sto facendo alcuni errori che non posso controllare, non posso usare SendWait
senza mettere alcun ritardo nei thread, ha per essere il più veloce possibile,
Sto solo guardando come si può fare.
Soluzione
Questa domanda è già stata posta su SO:
Come posso inviare i tasti premuti a una finestra senza doverlo attivare tramite l'API di Windows?
Altri suggerimenti
Non credo che l'architettura di Windows lo consentirà, poiché solo la finestra di forground dovrebbe ricevere sequenze di tasti o qualsiasi attività dell'utente.
Un modo alternativo potrebbe essere la creazione di destkop virtuale, lo spostamento del desktop in quel desktop virtuale e il passaggio di chiavi che non potrebbero essere visibili sullo schermo.