目次
1. ウィンドウクラスの検索プロセス
2. API RegisterClass と RegisterClassEx" >2. API RegisterClass と RegisterClassEx
GetClassInfo() APIの" >登録されたウィンドウの情報を取得するGetClassInfoGetClassInfo() API
ホームページ 運用・保守 窓の運用と保守 Win32 SDKの基礎⑥ ウィンドウクラスの検索処理と関連APIの詳細説明

Win32 SDKの基礎⑥ ウィンドウクラスの検索処理と関連APIの詳細説明

Jun 06, 2017 am 09:44 AM

1. ウィンドウクラスの検索プロセス

前回の記事では、windowsシステムの3つのウィンドウクラス、システムウィンドウクラス、グローバルウィンドウクラス、ローカルウィンドウクラスを紹介しました。各ウィンドウクラスはオペレーティングシステム内で異なるスコープを持ち、各スコープに登録されたウィンドウクラス名を重複して使用することはできません。ウィンドウを作成するとき、多くの場合、システム、グローバル、およびローカル スコープ内のウィンドウ クラス名に従って検索されます。検索プロセスは次のように要約されます:

(1) オペレーティング システムはローカル ウィンドウ クラスを検索するようになりました。受信ウィンドウのクラス名に基づいて、見つかった場合はステップ 2 を実行し、見つからなかった場合はステップ 3 を実行します。

(2)ローカルウィンドウクラスと、ウィンドウの作成時に渡されたHINSTANCE変数を比較します。等しい場合は、作成したウィンドウと登録したウィンドウが同じモジュール内にあることを意味し、作成したウィンドウを返します。等しくない場合は、3のステップに進みます。

(3)アプリケーションのグローバルウィンドウクラスを検索し、見つかった場合はステップを実行します。見つからない場合はステップ5を実行します。

(4) 見つかったウィンドウクラス情報を使用してウィンドウを作成し、戻ります。

(5) システムウィンドウクラスを検索し、見つからない場合はウィンドウの作成に失敗します。

2. API RegisterClass と RegisterClassEx

のプロトタイプは次のとおりです。からのAPI プロトタイプ。この 2 つの違いは主に受信するパラメーターにあります。このパラメーターは登録する必要があるウィンドウ クラスです。 2 つのウィンドウ クラスは次のように宣言されます:

ATOM WINAPI RegisterClass(
  _In_ const WNDCLASS *lpWndClass
);
ATOM WINAPI RegisterClassEx(
  _In_ const WNDCLASSEX *lpwcx
);
ログイン後にコピー
typedef struct tagWNDCLASS {
  UINT      style;
  WNDPROC   lpfnWndProc;
  int       cbClsExtra;
  int       cbWndExtra;
  HINSTANCE hInstance;
  HICON     hIcon;
  HCURSOR   hCursor;
  HBRUSH    hbrBackground;
  LPCTSTR   lpszMenuName;
  LPCTSTR   lpszClassName;
} WNDCLASS, *PWNDCLASS;
ログイン後にコピー

上記のコードからわかるように、2 つのウィンドウ クラス

structurals の主な違いは、WNDCLASSEX に cbSize ウィンドウの構造体サイズと小さなアイコンが含まれていることです。 hIconSm ウィンドウのハンドル。他のパラメータの意味については、MSDNを参照してください。 3.

登録されたウィンドウの情報を取得するGetClassInfoGetClassInfo() API

関数

のプロトタイプは以下の通りです:

typedef struct tagWNDCLASSEX {
  UINT      cbSize;
  UINT      style;
  WNDPROC   lpfnWndProc;
  int       cbClsExtra;
  int       cbWndExtra;
  HINSTANCE hInstance;
  HICON     hIcon;
  HCURSOR   hCursor;
  HBRUSH    hbrBackground;
  LPCTSTR   lpszMenuName;
  LPCTSTR   lpszClassName;
  HICON     hIconSm;
} WNDCLASSEX, *PWNDCLASSEX;
ログイン後にコピー
hInstance——設定検索 のスコープを

NULL に設定すると、システム、グローバル、ローカルの 3 つのスコープから検索されます。 lpClassName - 検索するウィンドウ クラス名です。 lpWndClass - 渡された

WndClass

構造体変数のアドレス。ウィンドウ クラス情報を受け取るために使用されます。

上記で作成した Button

クラスのウィンドウ情報を見つけてみましょう:

BOOL WINAPI GetClassInfo(
  _In_opt_ HINSTANCE  hInstance,
  _In_     LPCTSTR    lpClassName,
  _Out_    LPWNDCLASS lpWndClass
);
ログイン後にコピー
ブレークポイントを設定して、取得した Button

ウィンドウ クラス情報を確認してみましょう:

Window クラスをアンインストールします クラスの登録を解除する

UnregisterClass を通じて登録済みのウィンドウ クラスを登録解除できます。そのプロトタイプは次のとおりです:
WNDCLASS wc;
if (GetClassInfo(NULL, "Button", &wc) == false)
MessageBox(NULL,"GetClassInfo Faile",NULL,NULL);
ログイン後にコピー
lpClassName - アンインストールするウィンドウ クラスの名前です。

hInstance

—— 検索範囲を設定します。 NULL

に設定すると、システム、グローバル、ローカルの 3 つのスコープから検索します。

次のコードは、登録された Button ウィンドウ クラスをアンインストールします:

BOOL WINAPI UnregisterClass(
  _In_     LPCTSTR   lpClassName,
  _In_opt_ HINSTANCE hInstance
);
ログイン後にコピー

以上がWin32 SDKの基礎⑥ ウィンドウクラスの検索処理と関連APIの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11 22H2 は、より多くの Win32 デスクトップ アプリにマイカ/アクリル デザインを導入します Windows 11 22H2 は、より多くの Win32 デスクトップ アプリにマイカ/アクリル デザインを導入します Apr 14, 2023 pm 04:58 PM

Windows 11 のネイティブ アプリ (ファイル エクスプローラーなど) とその他のシェル アプリは、デフォルトで丸い角と Fluent Design 要素 (アクリルなど) を使用します。丸い角に加えて、Windows 11 のもう 1 つの重要なデザイン機能は、アプリの背景色をデスクトップと揃える雲母などのマテリアルです。マイカはアクリルに似ていますが、動作が少し異なります。 Microsoft が説明しているように、Windows Mica マテリアルは「背景をアプリに合わせて色の階層を作成します」

Windows 11 の Trojan/win32.casdet Rfn Windows 11 の Trojan/win32.casdet Rfn Apr 14, 2023 pm 02:49 PM

ウイルス対策ソフトウェアは、Windows 32 ラップトップ上で Trojan/win11.casdet rfn を示す警告を表示する場合があります。これは、PC がトロイの木馬マルウェアに感染し、誤動作を引き起こしていることを示します。幸いなことに、以下で説明するように、この問題を解決する方法がいくつかあります。さらに、cdn.districtm.io がポップアップ/ウイルス/マルウェアであるかどうかに関する詳細なガイドにも興味があるかもしれません。 Trojan/win32.casdet rfn とは何ですか? Trojan/win32.casdet rfn は、システムをオーバーランさせてプロセスを強制終了させる可能性がある深刻なトロイの木馬ウイルス感染症です。

win32とwin64の違いは何ですか win32とwin64の違いは何ですか May 29, 2023 pm 05:22 PM

win32 と win64 の違いは次のとおりです。 1. win32 は Microsoft Windows オペレーティング システムの 32 ビット環境を指し、win64 は Microsoft Windows オペレーティング システムの 64 ビット バージョンを指します。これは 32 ビット環境よりも安定しており、高速です。 -ビットバージョン; 2. win32 は最大 2G のメモリをサポートしますが、win64 には 4G 以上のメモリが必要です; 3. win64 は 64 ビット プロセッサをサポートしますが、win32 は完全にはサポートできません; 4. win32 はシンプルさを追求し、win64 はパフォーマンスを追求します。

Microsoft、Windows 11向けの新しいOneNoteデザインのテストを開始 Microsoft、Windows 11向けの新しいOneNoteデザインのテストを開始 Apr 19, 2023 pm 08:01 PM

2021 年 8 月に遡ると、Microsoft は、テクノロジー大手が複数のバージョンのメモ作成アプリを 1 つに統合するため、Windows 10 および Windows 11 の OneNote に今後数か月以内に一連の主要な機能アップデートが提供されると約束しました。顧客の。 OneNote は過去数年間に多くの変更を加えてきました。 2018 年、Microsoft は人々に自社の UWP バージョンの OneNote を使用してもらいたいと本気で考えていたため、機能が豊富なオリジナルの OneNote バージョンとプレインストールされた Office アプリのバンドルを中止しました。代わりに、Microsoft は UWP クライアントを提供し、最新バージョンに新機能を追加しただけです。マイクロソフトはその後変更しました

Windows 11 の Microsoft Store の新機能は何ですか? Windows 11 の Microsoft Store の新機能は何ですか? Apr 28, 2023 pm 06:13 PM

Microsoft は、Microsoft Store に多くの新機能を追加しています。同社は Windows を使用するすべての人にとってストアをより良いものにする努力を続けるため、これらはエンド ユーザーと開発者の両方に利益をもたらします。これらの変更の最大のハイライトの 1 つは、Windows 11 の Microsoft Store の新しい「アプリの復元」機能です。ユーザーの Microsoft アカウントに接続されるため、新しい Windows 11 PC にログインした後、数回クリックするだけでアプリケーションを自動的に復元できます。 「お客様が新しい PC に迅速かつシームレスに移行しやすくするために、間もなく導入する予定です。

Win32 グラフィック デザイン ソフトウェア Canva が、巨大 Adob​​e に対抗する無料 AI ツールをリリース Win32 グラフィック デザイン ソフトウェア Canva が、巨大 Adob​​e に対抗する無料 AI ツールをリリース Mar 05, 2024 pm 04:34 PM

最近のニュースによると、Canva は Adob​​e の Firefly に対抗するために一連の AI 画像ツール機能を開始し、職場でのコンテンツ作成プロセスを簡素化し、デザインの専門家以外の人でもコンテンツをより簡単かつ効率的に作成できるようにすることを目的としています。 、グラフィックデザイナーがミッションクリティカルなタスクに集中し、市場におけるアドビの優位性に挑戦できるようにします。レポートによると、Canva の Visual Worksuite には新しい BrandHub が統合されており、組織のビジュアル アイデンティティとの一貫性を確保するのに役立つ一連のツールをユーザーに提供することを目的としています。ユーザーはこのツールを使用して、企業文化情報 (ロゴ、フォント、色、統一されたデザイン スタイルなど) を含む BrandKit (ブランド IP ツールキット) を作成できます。

Microsoft、Windows DefenderのBehavior:Win32/Hive.ZYエラーの修正をリリース Microsoft、Windows DefenderのBehavior:Win32/Hive.ZYエラーの修正をリリース Apr 28, 2023 pm 04:01 PM

Microsoftの関係者は、Google Chrome、ChromiumEdge、Discord、およびその他のいくつかのアプリケーションが、Microsoftの組み込みウイルス対策ソフトウェア「WindowsDefender」によって「Behavior:Win32/Hive.ZY」としてフラグ付けされたという広範な報告を確認しました。テクノロジー大手は声明の中で、今後数時間以内に全員に公開される予定の修正に取り組んでいることを認めた。では、「Behavior:Win32/Hive.ZY」とは一体何でしょうか? Microsoft のセキュリティ ポータルに掲載された文書によると、「Behavior:Win32/Hive.ZY」とマークされたファイルはすべて

Windows Defender の動作を修正する方法: Win32/Hive.ZY アラート Windows Defender の動作を修正する方法: Win32/Hive.ZY アラート May 06, 2023 am 08:04 AM

多くの Windows 11 および 10 ユーザーは、「動作: Win32/Hive.ZY」という脅威が検出されたことを示す Windows Defender からの警告通知を見て悩んでいます。レポートによると、この Windows Defender の警告またはアラートは、ユーザーが Google Chrome や Chromium Edge、Whatsapp、Discord、Spotify などの一般的に使用されるアプリケーションを開こうとするとトリガーされます。 PC でこの脅威をブロックした場合でも、次にこの影響を受けるアプリケーションを開くと、MicrosoftDefenderAntivi というメッセージがポップアップ表示されます。

See all articles