22

我正在尝试发送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)");
4

5 回答 5

43

要指定在按下其他几个键时应按住、 和的任意组合SHIFT,请将这些键的代码括在括号中。例如,要指定在按下和时按住,请使用。要指定在按下时按住,然后不使用 ,请使用。CTRLALTSHIFTEC+(EC)SHIFTECSHIFT+EC

答案是:

SendKeys.Send("^(a)");
于 2012-07-31T07:17:35.470 回答
14

我有同样的问题我想选择文本输入文本控件

SendKeys.SendWait("^A") 不起作用,Sendkeys.SendWait "^A" 不起作用

Sendkeys.SendWait("^a") 工作正常

欲了解更多信息: http ://www.autoitscript.com/autoit3/docs/functions/Send.htm

hth

于 2010-11-05T15:14:04.403 回答
5

SendKeys 区分大小写。尝试这个:

SendKeys.Send("^a"); 

我不确定,但似乎

SendKeys.Send("^A"); 

表示Ctrl+ Shift+ A。至少它在某些应用程序中确实以这种方式工作。

于 2010-08-16T18:07:46.430 回答
4

你试过了吗

SendKeys.SendWait("^{A}"); 
于 2010-08-07T09:25:07.987 回答
2

经历过这个。

唯一可行的解​​决方案:

找到要输入文本的元素

     element.SetFocus();

     Thread.Sleep(2000);

     SendKeys.SendWait("^{HOME}");  // Move to start of control

     SendKeys.SendWait("^+{END}"); // Select everything

     SendKeys.SendWait("{DEL}"); 

     SendKeys.SendWait("Value"); 
于 2018-10-05T06:17:22.843 回答