SendKeys Ctrl-A не работает

Я пытаюсь отправить 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)");

person ALI    schedule 07.08.2010    source источник


Ответы (5)


Чтобы указать, что любая комбинация SHIFT, CTRL и ALT должна удерживаться нажатой при нажатии нескольких других клавиш, приложите код для этих клавиш. в скобках. Например, чтобы указать, что нужно удерживать SHIFT, пока нажаты E и C, используйте +(EC). Чтобы указать, что нужно удерживать SHIFT, пока нажата E, а затем C без SHIFT, используйте +EC.

Ответ:

SendKeys.Send("^(a)");
person Chola    schedule 31.07.2012
comment
На самом деле это лучший ответ ... жаль, что ОП не выбрал его. - person NotCoffeeTable; 11.05.2013
comment
Это не ответ, в нем четко указано, что если для управляющей клавиши требуется только одна клавиша, скобки не нужны. - person EliSherer; 23.10.2014

У меня такая же проблема, я хочу выбрать текст для ввода текста

SendKeys.SendWait("^A") не работает, ни Sendkeys.SendWait "^A" не работает

Sendkeys.SendWait("^a") работает нормально

для получения дополнительной информации: http://www.autoitscript.com/autoit3/docs/functions/Send.htm

чт

person TexWiller    schedule 05.11.2010

SendKeys чувствителен к регистру. Попробуй это:

SendKeys.Send("^a"); 

Я не уверен, но похоже

SendKeys.Send("^A"); 

означает Ctrl+Shift+A. По крайней мере, так работает в некоторых приложениях.

person user392757    schedule 16.08.2010
comment
Код Shift — +, поэтому, если вам нужна заглавная буква А, вам нужно будет сделать (+^a) - person Dman; 24.12.2015

Ты пробовал

SendKeys.SendWait("^{A}"); 
person Cameron Hudson    schedule 07.08.2010
comment
попробовал это, и это не работает. Пробовал использовать комбинации клавиш alt, и они у меня тоже не работают.... - person ALI; 07.08.2010

прошел через это.

Единственное рабочее решение:

Найдите свой элемент, где вы хотите ввести текст

     element.SetFocus();

     Thread.Sleep(2000);

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

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

     SendKeys.SendWait("{DEL}"); 

     SendKeys.SendWait("Value"); 
person Arushi Chauhan    schedule 05.10.2018