DestroyWindow 関数 (winuser.h)

指定したウィンドウを破棄します。 関数は WM_DESTROY を送信し、 メッセージを ウィンドウにWM_NCDESTROYして非アクティブ化し、キーボード フォーカスを削除します。 また、 関数は、ウィンドウのメニューを破棄し、タイマーを破棄し、クリップボードの所有権を削除し、クリップボード ビューアー チェーンを中断します (ウィンドウがビューアー チェーンの上部にある場合)。

指定したウィンドウが親ウィンドウまたは所有者ウィンドウの場合、 DestroyWindow は、親ウィンドウまたは所有者ウィンドウを破棄するときに、関連付けられている子ウィンドウまたは所有ウィンドウを自動的に破棄します。 関数は、最初に子ウィンドウまたは所有ウィンドウを破棄してから、親ウィンドウまたは所有者ウィンドウを破棄します。

DestroyWindow では、 CreateDialog 関数によって作成されたモードレス ダイアログ ボックスも破棄されます。

構文

BOOL DestroyWindow(
  [in] HWND hWnd
);

パラメーター

[in] hWnd

型: HWND

破棄されるウィンドウのハンドル。

戻り値

種類: BOOL

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

スレッドで DestroyWindow を 使用して、別のスレッドによって作成されたウィンドウを破棄することはできません。

破棄されるウィンドウが、 WS_EX_NOPARENTNOTIFY スタイルを持たない子ウィンドウである場合、 WM_PARENTNOTIFY メッセージが親に送信されます。

例については、「 ウィンドウの破棄」を参照してください。

要件

要件
サポートされている最小のクライアント 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-0 (Windows 8 で導入)

関連項目

概念

CreateDialog

CreateWindow

CreateWindowEx

リファレンス

WM_DESTROY

WM_NCDESTROY

WM_PARENTNOTIFY

Windows