次の方法で共有


RegisterClassExW 関数 (winuser.h)

CreateWindow 関数または CreateWindowEx 関数の呼び出しで後続に使用するウィンドウ クラス登録します。

構文

ATOM RegisterClassExW(
  [in] const WNDCLASSEXW *unnamedParam1
);

パラメーター

[in] unnamedParam1

型: const WNDCLASSEX*

WNDCLASSEX 構造体へのポインター。 関数に渡す前に、構造体に適切なクラス属性を入力する必要があります。

戻り値

種類: ATOM

関数が成功した場合、戻り値は登録されているクラスを一意に識別するクラスアトムです。 このアトムは、CreateWindowCreateWindowExGetClassInfo、GetClassInfoExFindWindowFindWindowExUnregisterClass 関数、および IActiveIMMap::FilterClientWindows メソッドでのみ使用できます。

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

解説

RegisterClassExA を使用してウィンドウ クラスを登録すると、作成されたクラスのウィンドウで、ANSI 文字セットを使用するテキストまたは文字パラメーターを含むメッセージが必要であることをシステムに通知します。RegisterClassExW を使用して登録すると、アプリケーションはメッセージのテキスト パラメーターを Unicode として渡すように要求します。 IsWindowUnicode 関数を使用すると、アプリケーションは各ウィンドウの性質を照会できます。 ANSI 関数と Unicode 関数の詳細については、「 関数プロトタイプの規則」を参照してください。

アプリケーションが登録するすべてのウィンドウ クラスは、終了時に登録解除されます。

DLL がアンロードされるときに、DLL によって登録されたウィンドウ クラスは登録解除されません。 DLL は、アンロード時にそのクラスの登録を明示的に解除する必要があります。

例については、「 ウィンドウ クラスの使用」を参照してください。

注意

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

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll
API セット ext-ms-win-ntuser-windowclass-l1-1-0 (Windows 8 で導入)

関連項目

概念

CreateWindow

CreateWindowEx

Findwindow

FindWindowEx

GetClassInfo

GetClassInfoEx

GetClassName

リファレンス

RegisterClass

UnregisterClass

WNDCLASSEX

ウィンドウ クラス

WindowProc