Win32 SDKの基礎⑥ ウィンドウクラスの検索処理と関連APIの詳細説明
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;
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;
NULL に設定すると、システム、グローバル、ローカルの 3 つのスコープから検索されます。 lpClassName - 検索するウィンドウ クラス名です。 lpWndClass - 渡された
WndClass 構造体変数のアドレス。ウィンドウ クラス情報を受け取るために使用されます。上記で作成した Button
クラスのウィンドウ情報を見つけてみましょう:BOOL WINAPI GetClassInfo(
_In_opt_ HINSTANCE hInstance,
_In_ LPCTSTR lpClassName,
_Out_ LPWNDCLASS lpWndClass
);
Window クラスをアンインストールします クラスの登録を解除する
UnregisterClass を通じて登録済みのウィンドウ クラスを登録解除できます。そのプロトタイプは次のとおりです: WNDCLASS wc;
if (GetClassInfo(NULL, "Button", &wc) == false)
MessageBox(NULL,"GetClassInfo Faile",NULL,NULL);
ログイン後にコピーlpClassName - アンインストールするウィンドウ クラスの名前です。
hInstance WNDCLASS wc; if (GetClassInfo(NULL, "Button", &wc) == false) MessageBox(NULL,"GetClassInfo Faile",NULL,NULL);
—— 検索範囲を設定します。 NULL
に設定すると、システム、グローバル、ローカルの 3 つのスコープから検索します。
次のコードは、登録された Button ウィンドウ クラスをアンインストールします:
BOOL WINAPI UnregisterClass( _In_ LPCTSTR lpClassName, _In_opt_ HINSTANCE hInstance );
以上がWin32 SDKの基礎⑥ ウィンドウクラスの検索処理と関連APIの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック

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

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

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

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

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

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

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

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