0

テキストボックスを含むウィンドウがあります。マウスをクリックしてテキストボックスにテキストを入力してテキストを入力するにはどうすればよいですか?

4

2 に答える 2

2

通常、Tabulator キーを 5 回押すとSend("{Tab}")、入力ボックスを「循環」できます。Send("{Tab 5}")そして、通常のものを使用して、必要Send("input text")なものを挿入できます。を使用しClipPut("content")てクリップボードに何かを入力し、Send("^v")("^" は "{Ctrl}" に等しい、Send Key ListClipGet()を参照) のみを使用して、そこに配置したものを挿入することもできます。その後、元に戻します。通常WinActivate("Window Title")、キーストロークを送信したいウィンドウをアクティブに設定する前に。幸運を!

そして最後に、大事なことを言い忘れました...入力要素の位置が固定されている場合、それらをアクティブにする前にクリックするだけでOpt("MouseCoordMode", 0)、ウィンドウに相対的な座標位置を参照してから、のようなものを使用できますMouseClick("primary", 20, 65, 1, 0)

于 2012-07-30T07:16:59.447 に答える
1

コントロールIDは、コントロールをアドレス指定できる唯一の方法ではありません。コントロールクラスとインスタンスも使用できます。例えば

ControlSetText("Untitled - Notepad", "", "[CLASS:Edit; INSTANCE:1]", "hello world!")

AutoItに付属のAutoItウィンドウ情報ツールを使用して、クラス/インスタンスの詳細を取得できます。

これは送信よりもはるかに安全です。ただし、Sendの使用が避けられない場合もあります。また、キーストロークを送信するときに特定のウィンドウをアクティブに保とうとするSendKeepActiveを使用することもできます。

于 2012-08-03T07:59:40.547 に答える