J'essaie d'envoyer CTRLA (Sélectionnez TOUS à une application dans ce cas Word, mais essayez car cela ne fonctionnera pas) J'ai essayé de nombreuses combinaisons, mais toutes ne sont pas disponibles, aucune idée?
IntPtr appHandle = FindWindow(null, "Document1 - Microsoft Word");
if (appHandle == IntPtr.Zero)
{
MessageBox.Show("Specified app is not running.");
return;
}
SetForegroundWindow(appHandle);
System.Threading.Thread.Sleep(500);
//SendKeys.SendWait("111");
SendKeys.SendWait("^A");
//SendKeys.SendWait("^(A)"); //ctrl a
//SendKeys.SendWait("(^A)");
Pour spécifier que toute combinaison de SHIFT, CTRL, et ALT Devrait être maintenu lorsque plusieurs autres clés sont pressées, joignez le code pour ces clés entre parenthèses. Par exemple, pour spécifier pour tenir en panne SHIFT tandis que E et C sont pressés, utilisez +(EC)
. Pour spécifier pour tenir en panne SHIFT tandis que E est pressé, suivi de C sans pour autant SHIFT, utilisation +EC
.
La réponse est:
SendKeys.Send("^(a)");
J'ai le même problème que je veux sélectionner le texte d'une commande de texte d'entrée
Sendkeys.sendwait ("^ a") ne fonctionne pas ni sendkeys.sendwait "^ a" Doess ne fonctionne pas
Sendkeys.sendwait ("^ a") fonctionne ok
pour plus d'informations: http://www.autoitscript.com/autoit3/docs/functions/send.htm
ht
Sendkeys est sensible à la casse. Essaye ça:
SendKeys.Send("^a");
Je ne suis pas sûr, mais cela semble être
SendKeys.Send("^A");
moyens Ctrl+Shift+A. Au moins, cela fonctionne de cette manière dans certaines applications.
As-tu essayé
SendKeys.SendWait("^{A}");
été à travers cela.
La seule solution de travail:
Trouvez votre élément où vous voulez entrer du texte
element.SetFocus();
Thread.Sleep(2000);
SendKeys.SendWait("^{HOME}"); // Move to start of control
SendKeys.SendWait("^+{END}"); // Select everything
SendKeys.SendWait("{DEL}");
SendKeys.SendWait("Value");