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