次の方法で共有


GetWindowTextA 関数 (winuser.h)

指定したウィンドウのタイトル バーのテキスト (ある場合) をバッファーにコピーします。 指定したウィンドウがコントロールの場合、コントロールのテキストがコピーされます。 ただし、GetWindowText は、別のアプリケーションのコントロールのテキストを取得できません。

構文

int GetWindowTextA(
  [in]  HWND  hWnd,
  [out] LPSTR 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 メッセージ 直接送信します。

次のコード例は、GetWindowTextA呼び出しを示しています。

hwndCombo = GetDlgItem(hwndDlg, IDD_COMBO); 
cTxtLen = GetWindowTextLength(hwndCombo); 

// Allocate memory for the string and copy 
// the string into the memory. 

pszMem = (PSTR) VirtualAlloc((LPVOID) NULL, 
    (DWORD) (cTxtLen + 1), MEM_COMMIT, 
    PAGE_READWRITE); 
GetWindowText(hwndCombo, pszMem, 
    cTxtLen + 1); 

この例をコンテキストで確認するには、「メッセージの送信 」を参照してください。

手記

winuser.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetWindowText を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winuser.h (Windows.h を含む)
ライブラリ User32.lib
DLL User32.dll
API セットの ext-ms-win-ntuser-window-l1-1-4 (Windows 10 バージョン 10.0.14393 で導入)

関連項目

概念

GetWindowTextLength の

リファレンス

SetWindowText の

WM_GETTEXT

Windows の