Maison tutoriels informatiques connaissances en informatique Que signifie une poignée de fenêtre moustiquaire ?

Que signifie une poignée de fenêtre moustiquaire ?

Jan 23, 2024 pm 09:24 PM
Obtenir le handle du formulaire

Que signifie une poignée de fenêtre moustiquaire ?

Que signifie obtenir la poignée de fenêtre de l'écran

C'est facile à comprendre une fois que vous savez ce qu'est une poignée

Récupérez simplement le code d'identification de cette fenêtre

Un handle est un identifiant unique utilisé pour distinguer divers objets de mémoire. Il s'agit d'un entier de 32 bits.

Certains sont uniques à l'ensemble du système (comme les poignées de fenêtre), et d'autres sont uniques au processus ou au thread actuel

(comme le descripteur de fil, le global a un autre identifiant).

Les détails peuvent être divisés en plusieurs types, tous commençant par H. Lorsque vous l'utilisez en VB, utilisez tous Long.

Les plus courants incluent le handle de fenêtre (HWND), le handle de contexte de périphérique (HDC), le handle de mémoire (HMEM),

Descripteur de fichier, descripteur de processus, descripteur de fil, descripteur de type stylo (HPEN), descripteur de police (HFONT),

Possibilité de région (HRGN) et plus encore.

Lors de la demande de handle, les ressources sont occupées, qui sont divisées en trois catégories : SYSTÈME, UTILISATEUR et GDI.

Les ressources de WINDOWS sont fixes et n'augmentent pas avec l'extension de la mémoire, vous devez donc les libérer après utilisation

Rangez-le.

>

Si vous utilisez uniquement le propre code de VB, vous n'utiliserez généralement pas de handles, mais si vous utilisez des fonctions API,

La plupart des gens l'utiliseront.

Dans les systèmes Windows, les handles (je pense toujours que ce mot est très mal traduit) sont divisés en trois catégories : Kernel

Handle, UserHandle et Handle défini par l'application.

KernelHandle est en fait l'index de la table de pointeurs de l'objet Kernel dans le processus. Les objets du noyau incluent les processus et les fichiers

.

Pièces, signaux, etc. Mais afin de cacher le fait, MS a généré une valeur dite Obsfucator au démarrage du système

(en fait, cela devrait être Obfuscator, MicrosoftBugs(R) :), après avoir généré le Handle, différenciez le Handle de cette valeur

ou revenez à l'application, donc les poignées que vous voyez sont des nombres volumineux et dénués de sens. Ceux-ci

Les objets handle et index sont gérés conjointement par KRNL32.DLL et VMM32.VXD, ils sont donc appelés Kernel

Poignée.

UserHandle est utilisé pour marquer des objets tels que des fenêtres et des contrôleurs de domaine. Ce sont de vrais pointeurs, mais ils ne pointent pas vers des objets

. Au début du

, il y a un décalage. Encore une fois, ces objets sont gérés par USER32.DLL.

Le troisième type de handle n'est constitué que de quelques index personnalisés par l'application. La signification spécifique est liée à l'application

.

Comment obtenir la poignée de la fenêtre de la console

1. Appelez GetConsoleTitle() pour enregistrer le titre actuel de la fenêtre de la console.

2. Appelez SetConsoleTitle() pour changer le titre de la console en un titre unique.

3. Appelez Sleep(40) pour vous assurer que le titre de la fenêtre a été mis à jour.

4. Appelez FindWindow(NULL, uniquetitle) pour obtenir HWND. Si l'opération échoue, NULL sera renvoyé.

5. À partir de l'étape 1, pour restaurer le titre de la fenêtre d'origine, récupérez la valeur, appelez SetConsoleTitle().

Le HWND du résultat doit être testé. Par exemple, vous pouvez tester si le HWND renvoyé correspond au processus actuel appelant GetWindowText() sur le HWND et comparer le résultat à GetConsoleTitle().

Exemple de code

La fonction suivante récupère le handle de fenêtre d'application console actuel (HWND). Si cette fonction réussit, la valeur de retour est un handle vers la fenêtre de console. Si cette fonction échoue, la valeur de retour est NULL. Certaines vérifications d'erreurs sont omises par souci de concision.

HWND GetConsoleHwnd(void)

{

#define MY_BUFSIZE 1024 // Taille du tampon pour les titres des fenêtres de la console.

HWND hwndFound; // C'est ce qui est renvoyé à l'appelant.

char pszNewWindowTitle[MY_BUFSIZE]; // Contient des produits fabriqués

// TitreFenêtre.

char pszOldWindowTitle[MY_BUFSIZE]; // Contient l'original

// TitreFenêtre.

// Récupérer le titre de la fenêtre actuelle.

GetConsoleTitle(pszOldWindowTitle, MY_BUFSIZE);

// Formater un NewWindowTitle "unique".

wsprintf(pszNewWindowTitle,"%d/%d",

GetTickCount(),

GetCurrentProcessId());

// Modifier le titre de la fenêtre actuelle.

SetConsoleTitle(pszNewWindowTitle);

// Assurez-vous que le titre de la fenêtre a été mis à jour.

Sommeil(40);

// Recherchez NewWindowTitle.

hwndFound=FindWindow(NULL, pszNewWindowTitle);

// Restaurer le titre original de la fenêtre.

SetConsoleTitle(pszOldWindowTitle);

retour(hwndFound);

}

Comment obtenir les poignées de toutes les fenêtres du bureau en 50 minutes

#inclure

#inclure

en utilisant l'espace de noms std;

//Fonction de rappel pour EnumWindows

BOOL CALLBACK EnumProc(HWND hwnd,LPARAM lparam)

{

vecteur *pvec = (vecteur*)lparam;

pvec->push_back(hwnd);

retour VRAI ;

}

void main()

{

vecteurvec;

EnumWindows(EnumProc,(LPARAM)&vec);

}

Ceci est écrit dans un projet de programme de console win32. Si vous souhaitez l'utiliser sous MFC, il vous suffit d'inclure

#include et d'utiliser l'espace de noms std;

EnumProc est défini devant, et la fonction de réponse du bouton. est ajouté dans la fonction principale, ces deux phrases feront l'affaire.

J'ai testé ici et j'ai obtenu 407 poignées

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment réparer l'erreur de nuage de vapeur? Essayez ces méthodes Comment réparer l'erreur de nuage de vapeur? Essayez ces méthodes Apr 04, 2025 am 01:51 AM

L'erreur de nuage de vapeur peut être causée par de nombreuses raisons. Pour jouer à un jeu en douceur, vous devez prendre certaines mesures pour supprimer cette erreur avant de lancer le jeu. Le logiciel PHP.CN présente certaines façons ainsi que des informations plus utiles dans cet article.

Metadata Windows et problèmes de services Internet: comment le résoudre? Metadata Windows et problèmes de services Internet: comment le résoudre? Apr 02, 2025 pm 03:57 PM

Vous pouvez voir que «une connexion aux métadonnées Windows et aux services Internet (WMIS) n'a pas pu être établie.» Erreur sur la visionneuse d'événements. Cet article de Php.cn présente comment supprimer le problème des métadonnées Windows et des services Internet.

Comment résoudre les problèmes de mise à jour KB5035942 - Système de crash Comment résoudre les problèmes de mise à jour KB5035942 - Système de crash Apr 02, 2025 pm 04:16 PM

KB5035942 MISE À JOUR LES PROBLÈMES - SYSTÈME D'ÉCRASSION PROBLÈME AUX UTILISATEURS. Les personnes infligées espèrent trouver un moyen de sortir du type de problèmes, comme le système de crash, l'installation ou les problèmes sonores. Ciblage de ces situations, cet article publié par Php.cn Wil

Correction - OneDrive ne télécharge pas de photos sur PC Correction - OneDrive ne télécharge pas de photos sur PC Apr 02, 2025 pm 04:04 PM

OneDrive est un service de stockage cloud en ligne de Microsoft. Parfois, vous pourriez trouver qu'OneDrive ne parvient pas à télécharger des photos sur le cloud. Si vous êtes sur le même bateau, continuez à lire ce post du logiciel PHP.CN pour obtenir des solutions efficaces maintenant!

Supprimez les logiciels malveillants PC App Store - un guide complet pour vous! Supprimez les logiciels malveillants PC App Store - un guide complet pour vous! Apr 04, 2025 am 01:41 AM

Si vous avez un programme appelé PC App Store sur votre ordinateur et que vous ne l'installez pas délibérément, votre PC peut être infecté par le malware. Cet article de Php.cn présente comment supprimer les logiciels malveillants PC App Store.

Comment utiliser l'outil Chris Titus pour créer un ISO WIN11 / 10 débloated Comment utiliser l'outil Chris Titus pour créer un ISO WIN11 / 10 débloated Apr 01, 2025 am 03:15 AM

Chris Titus Tech a un outil appelé Windows Utility qui peut vous aider à créer facilement une ISO Windows 11/10 débloated pour installer un système propre. Php.cn offre un guide complet sur la façon de faire cette chose à l'aide de l'outil Chris Titus.

Fix: Brothers: A Tale of Two Sons Remake Not Lancement / Loading Fix: Brothers: A Tale of Two Sons Remake Not Lancement / Loading Apr 02, 2025 am 02:40 AM

Est-ce que Brothers: A Tale of Two Sons Remake ne se lance pas? Rencontrez Brothers: A Tale of Two Sons Remake Black Screen? Ici, ce post sur php.cn vous propose des solutions testées pour vous aider à résoudre ce problème.

MSConfig continue de revenir au démarrage sélectif? 2 solutions ici MSConfig continue de revenir au démarrage sélectif? 2 solutions ici Mar 28, 2025 pm 12:06 PM

Êtes-vous interrogé sur un problème que MSConfig continue de revenir au démarrage sélectif sur vos fenêtres? Comment passer au démarrage normal si vous en avez besoin? Essayez les méthodes expliquées dans ce post php.cn pour en trouver une qui fonctionne pour vous.

See all articles