web-dev-qa-db-ja.com

SendKeys Ctrl-Aが機能しない

送信しようとしています CTRLA (この場合はアプリですべてを選択しますが、機能しない可能性があるので試してください)私はかなりの数の組み合わせを試しましたが、すべて役に立たない、アイデアはありますか?

        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)");
17
ALI

の任意の組み合わせを指定するには SHIFT、 CTRL、および ALT 他のいくつかのキーが押されている間は押したままにする必要があります。それらのキーのコードを括弧で囲みます。たとえば、長押しを指定するには SHIFT ながら E そして C が押された場合、+(EC)を使用します。押し続けるように指定するには SHIFT ながら E が押され、続いて C なし SHIFT、 使用する +EC

答えは:

SendKeys.Send("^(a)");
38
Chola

同じ問題が発生しました。テキストを選択して入力テキストコントロールにしたい

SendKeys.SendWait( "^ A")も機能せず、Sendkeys.SendWait "^ A"も機能しません

Sendkeys.SendWait( "^ a")は問題なく動作します

詳細: http://www.autoitscript.com/autoit3/docs/functions/Send.htm

hth

13
TexWiller

SendKeysは大文字と小文字を区別します。これを試して:

SendKeys.Send("^a"); 

よくわかりませんが、

SendKeys.Send("^A"); 

手段 Ctrl+Shift+A。少なくとも一部のアプリケーションではこのように機能します。

4
user392757

試しましたか

SendKeys.SendWait("^{A}"); 
4
Cameron Hudson

これを経て。

唯一の実用的なソリューション:

テキストを入力する要素を見つけます

     element.SetFocus();

     Thread.Sleep(2000);

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

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

     SendKeys.SendWait("{DEL}"); 

     SendKeys.SendWait("Value"); 
1
Arushi Chauhan