GetWindowText

https://msdn.microsoft.com/ja-jp/library/cc428944.aspx https://msdn.microsoft.com/ja-jp/library/ms632627.aspx https://msdn.microsoft.com/ja-jp/library/ms632627.aspx

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

int GetWindowText(
  HWND hWnd,        // ウィンドウまたはコントロールのハンドル
  LPTSTR lpString,  // テキストバッファ
  int nMaxCount     // コピーする最大文字数
);

パラメータ

hWnd
ウィンドウ( またはテキストを持つコントロール)のハンドルを指定します。
lpString
バッファへのポインタを指定します。このバッファにテキストが格納されます。
nMaxCount
バッファにコピーする文字の最大数を指定します。テキストのこのサイズを超える部分は、切り捨てられます。NULL 文字も数に含められます。

戻り値

関数が成功すると、コピーされた文字列の文字数が返ります( 終端の NULL 文字は含められません)。タイトルバーやテキストがない場合、タイトルバーが空の場合、および hWnd パラメータに指定したウィンドウハンドルまたはコントロールハンドルが無効な場合は 0 が返ります。拡張エラー情報を取得するには、 関数を使います。

他のアプリケーションのエディットコントロールのテキストをこの関数で取得することはできません。

解説

ターゲットウィンドウが現在のプロセスに所有されている場合は、ウィンドウまたはコントロールに メッセージが送られます。ターゲットウィンドウが他のプロセスに所有されており、キャプションを持つ場合は、ウィンドウのキャプションテキストがコピーされます。ウィンドウがキャプションを持たない場合は、NULL 文字列が返ります。この動作は、設計上決められたものです。これにより、アプリケーションは、ターゲットウィンドウを所有するプロセスがハングしている場合に GetWindowText 関数を呼び出してもハングせずに済みます。ただし、ターゲットウィンドウがハングしており、そのウィンドウが関数を呼び出したアプリケーションに属する場合は、GetWindowText 関数を呼び出したことによりアプリケーションもハングします。

他のプロセス内のコントロールのテキストを取得するには、GetWindowText 関数を呼び出すのではなく、直接 WM_GETTEXT メッセージを送ります。

対応情報

Windows NT/2000:Windows NT 3.1 以降
Windows 95/98:Windows 95 以降
ヘッダー:Winuser.h で宣言、Windows.h をインクルード
インポートライブラリ:User32.lib を使用
Unicode:Windows NT/2000 は Unicode 版と ANSI 版を実装

参照

GetWindowTextLength, SetWindowText,

表示: