GetWindowTextW 関数 (winuser.h)
指定したウィンドウのタイトル バーのテキスト (存在する場合) をバッファーにコピーします。 指定したウィンドウがコントロールの場合、コントロールのテキストがコピーされます。 ただし、 GetWindowText は別のアプリケーションのコントロールのテキストを取得できません。
構文
int GetWindowTextW(
[in] HWND hWnd,
[out] LPWSTR lpString,
[in] int nMaxCount
);
パラメーター
[in] hWnd
型: HWND
テキストを含むウィンドウまたはコントロールへのハンドル。
[out] lpString
種類: LPTSTR
テキストを受け取るバッファー。 文字列がバッファーより長いまたは長い場合、文字列は切り捨てられ、null 文字で終了します。
[in] nMaxCount
型: int
バッファーにコピーする最大文字数 (null 文字を含む)。 テキストがこの制限を超えると、切り捨てられます。
戻り値
型: int
関数が成功した場合、戻り値は、終端の null 文字を含まない、コピーされた文字列の長さ (文字数) です。 ウィンドウにタイトル バーまたはテキストがない場合、タイトル バーが空の場合、またはウィンドウまたはコントロール ハンドルが無効な場合、戻り値は 0 です。 詳細なエラー情報を得るには、GetLastError を呼び出します。
この関数は、別のアプリケーションの編集コントロールのテキストを取得できません。
注釈
ターゲット ウィンドウが現在のプロセスによって所有されている場合、 GetWindowText により 、指定 したウィンドウまたはコントロールにWM_GETTEXT メッセージが送信されます。 ターゲット ウィンドウが別のプロセスによって所有され、キャプションがある場合、GetWindowText はウィンドウキャプションテキストを取得します。 ウィンドウにキャプションがない場合、戻り値は null 文字列です。 この動作は仕様です。 これにより、ターゲット ウィンドウを所有するプロセスが応答していない場合、アプリケーションは応答しないまま GetWindowText を呼び出すことができます。 ただし、ターゲット ウィンドウが応答せず、呼び出し元のアプリケーションに属している場合は、 GetWindowText によって呼び出し元のアプリケーションが応答しなくなります。
別のプロセスでコントロールのテキストを取得するには、GetWindowText を呼び出す代わりに、WM_GETTEXTメッセージを直接送信します。
例
例については、「メッセージの 送信」を参照してください。
注意
winuser.h ヘッダーは、GetWindowText をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
API セット | ext-ms-win-ntuser-window-l1-1-4 (Windows 10 バージョン 10.0.14393 で導入) |
関連項目
概念
リファレンス