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

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

17 голосов
/ 07 августа 2010

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

Ответы [ 5 ]

37 голосов
/ 31 июля 2012

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

Ответ:

SendKeys.Send("^(a)");
13 голосов
/ 05 ноября 2010

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

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

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

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

НТН

4 голосов
/ 16 августа 2010

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

SendKeys.Send("^a"); 

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

SendKeys.Send("^A"); 

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

4 голосов
/ 07 августа 2010

Вы пробовали

SendKeys.SendWait("^{A}"); 
1 голос
/ 05 октября 2018

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

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

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

     element.SetFocus();

     Thread.Sleep(2000);

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

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

     SendKeys.SendWait("{DEL}"); 

     SendKeys.SendWait("Value"); 
...