Domanda

Voglio fare in modo che ^ N funzioni come la freccia giù in un controllo ad albero. ho pensato Dovrei solo aggiungere quanto segue al gestore KeyDown:

SendKeys.Send("{Down}");

ma questo viene trattato come una freccia Control-Down dal tasto di controllo è attualmente premuto. La pagina msdn descrive come attivare il modificatore di controllo ma non come disattivarlo.

Grazie, Keith

È stato utile?

Soluzione

Mi dispiace venire tardi alla festa, ma penso di aver trovato una soluzione:

Innanzitutto, importa SetKeyboardState:

[DllImport("user32.dll")]
public static extern bool SetKeyboardState(byte[] lpKeyState);

Quindi, basta chiamarlo con un array di byte azzerato prima di chiamare SendKeys.Send ():

SetKeyboardState(new byte[256]);
SendKeys.Send("your key sequence");

Ha funzionato per me. Spero che questo aiuti!

Altri suggerimenti

Puoi p / invocare keybd_event. Ciò ti consentirà di simulare una chiave sia in " up " e "giù" Stato.

Ecco il modo difficile di farlo. Ammetto che questo non è il modo ottimale per farlo. Sono sicuro che lo sai già. Potresti voler sovraccaricare il metodo WindProc del controllo & amp; utilizzare SendMsg Win32 Api. Questo è il modo in cui ho usato le cose per tornare indietro nel tempo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top