WinGetText
実行制御 | GUI表示 | 演算・変数 | メモリ・DLL操作 | 文字列操作 |
キーボード | マウス | シェル | ウィンドウ | ウィンドウグループ
ステータスバー | コントロール | サウンド | ファイル | INIファイル |
レジストリ | 環境変数 | AutoHotkey | その他 | 設定関係 | オブジェクト
WinGetText[編集]
指定されたウィンドウのテキストを取得。
WinGetText, OutputVar [, WinTitle, WinText, ExcludeTitle, ExcludeText]
Parameters[編集]
引数名 | 説明 |
---|---|
OutputVar | テキストを格納する変数名 |
WinTitle | ウィンドウタイトルなど。 ウィンドウ指定の方法参照。 |
WinText | ウィンドウに含まれるテキスト |
ExcludeTitle | 除外タイトル |
ExcludeText | 除外テキスト |
ErrorLevel[編集]
何か問題が発生すればErrorLevelは 1
になる。問題がなければ 0
になる。
AHKL [v1.1.04+] このコマンドは失敗した場合に例外をスローすることができる。詳細は実行時エラーを参照。
Remarks[編集]
AutoHotkey同梱のAU3_Spy.exeで表示されるような形式でウィンドウ上のコントロールのテキストを取得する。
各テキスト項目は、CR+LF(スクリプト上では `r`n
と記述)で区切られる。
NT系では、取得できるテキストの量に上限は無い。
巨大なテキストを開いているテキストエディタなどに対して使用すると、大量のメモリを消費することになる。
OutputVar=
のように空文字列を代入してやれば、使用したメモリは開放できる。
9x系では、ウィンドウコントロールごとに64KBまでに制限されている。
取得したテキストが半端で途中で切り捨てられているような場合は、このコマンドを実行する前に「VarSetCapacity(OutputVar, XXX)
」 としておくと効果がある(XXXには欠けたテキストよりも十分に長いものにする)。 一部のアプリケーションはテキスト長を調べる WM_GETTEXTLENGTH
メッセージに反応しないため、 このような事前の容量確保をしておく必要が生じる。
Related[編集]
WinGetActiveStats, WinGetActiveTitle, WinGetTitle, ControlGetText, WinGetPos
Example(s)[編集]
Run, Calc.exe
WinWait, Calculator
WinGetText, text ; The window found above will be used.
MsgBox, The text is:`n%text%