我正在尝试发送 CTRL A (在这个案例中选择所有应用程序,但尝试我可能不起作用)我试过相当多的组合,但都没有用,有什么想法吗?
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)");
答案 0 :(得分:37)
要指定在按下其他几个键的同时按住 SHIFT , CTRL 和 ALT 的任意组合,请将代码括起来对于括号中的那些键。例如,要在按下 E 和 C 时指定按住 SHIFT ,请使用+(EC)
。要指定在按下 E 时按住 SHIFT ,然后按 C 而不用 SHIFT ,请使用{{1} }。
答案是:
+EC
答案 1 :(得分:13)
我遇到了同样的问题 我想选择文本输入文本控件
SendKeys.SendWait(“^ A”)不起作用,Sendkeys.SendWait“^ A”不起作用
Sendkeys.SendWait(“^ a”)正常运行
了解更多信息: http://www.autoitscript.com/autoit3/docs/functions/Send.htm
HTH
答案 2 :(得分:4)
你试过吗
SendKeys.SendWait("^{A}");
答案 3 :(得分:4)
SendKeys区分大小写。试试这个:
SendKeys.Send("^a");
我不确定,但似乎是
SendKeys.Send("^A");
表示 Ctrl + Shift + A 。至少它在某些应用程序中以这种方式工作。
答案 4 :(得分:1)
通过这个。
唯一可行的解决方案:
在要输入文本的位置找到元素
element.SetFocus();
Thread.Sleep(2000);
SendKeys.SendWait("^{HOME}"); // Move to start of control
SendKeys.SendWait("^+{END}"); // Select everything
SendKeys.SendWait("{DEL}");
SendKeys.SendWait("Value");