0

私はautoitの初心者です。2つの質問があります。

  1. 未亡人にテキストやタイトルがない場合のControlFocus( ""、 ""、 "[X:643; Y:339]")の使用方法。ウィンドウインフォーマーが表示するウィンドウとコントロールの以下の情報を参照してください。

ウィンドウ<<<<タイトル:クラス:WindowsForms10.Window.8.app.0.33c0d9d位置:0、0サイズ:1024、768スタイル:0x16010000 ExStyle:0x00010000ハンドル:0x005201E0

コントロール<<<<クラス:WindowsForms10.EDIT.app.0.33c0d9dインスタンス:2 ClassnameNN:WindowsForms10.EDIT.app.0.33c0d9d2名前:txtConsumerNo Advanced(クラス):[NAME:txtConsumerNo] ID:15270262テキスト:位置:638、 237サイズ:263、30 ControlClick座標:38、27スタイル:0x560100C0 ExStyle:0x00000200ハンドル:0x00E90176

このコントロールをどのように操作できますか?

  1. このコントロールのテキスト変更イベントを呼び出したい。どうすれば可能ですか
4

1 に答える 1

3

テキストとタイトルのないウィンドウを扱っている場合は、最初にWinGetHandleを使用してウィンドウのハンドルを取得する方が簡単な場合があります。次のように、アクティブなウィンドウからハンドルを取得できます。

$hWnd = WinGetHandle("[ACTIVE]")

コントロールを操作するには、多くのオプションがあります。おそらく、コントロールの名前を使用するのが最善のオプションです。これはtxtConsumerNoです。次に、このようにControlFocusを使用すると、機能します。$hWndは上記のWinGetHandleステートメントからのものであることに注意してください。

ControlFocus($hWnd, "", "[NAME:txtConsumerNo]")

コントロールのXとYの位置を使用しないことをお勧めします。正しいコントロールを見つけるのに苦労する可能性があります。名前やクラスなど、他のメソッドを使用できる場合は、それらが非常に優先されます。

ControlSetTextメソッドを使用して、AutoItの別のコントロールのテキストを変更できます。「テキスト変更イベント」が自動的に呼び出されます。ControlSetTextに関するドキュメントについては、ヘルプファイルを参照してください。ControlFocusと同じように機能します。

于 2011-02-09T08:26:43.453 に答える