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 で導入)

関連項目

概念

GetWindowTextLength

リファレンス

SetWindowText

WM_GETTEXT

Windows