RegisterClassExA 関数 (winuser.h)

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

構文

ATOM RegisterClassExA(
  [in] const WNDCLASSEXA *unnamedParam1
);

パラメーター

[in] unnamedParam1

型: const WNDCLASSEX*

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

戻り値

型: ATOM

関数が成功した場合、戻り値は登録されているクラスを一意に識別するクラスアトムです。 この atom は、CreateWindowCreateWindowExGetClassInfo、GetClassInfoExFindWindowFindWindowExおよび UnregisterClass 関数と 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