IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

Lister les handles des fenetres


Sujet :

C++/CLI

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 10
    Points : 9
    Points
    9
    Par défaut Lister les handles des fenetres
    Bonjour,

    Dans un premier temps et par curiosité j'aimerais connaitre la difference (s'il y a) entre le handle d'un processus recucperé par la class Process (handle visible dans le gestionnaire de taches windows) et le Handle d'une fenetre donné par GetForegroundWindow() ou FindWindow() par exemple ?

    Si je cherche à énumerer les handles des fenetres atives de facon à en choisir une et lui donner le focus, vers quelles methodes je dois orienter mes recherches ? Doit on obligatoirement faire des imports pour utiliser Enumwindow et setForegroundWindow ?

    (utilisation de visual studio 2010, projet CLR-Application windows forms).

    Merci d'avance pour vous réponses.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Selon mes souvenirs :
    Un Handle en mode User est un index dans la table des Handles du processus.
    Cette table contient les adresses vers les Handles Kernel.
    Les objets Handle de .NET sont des wrappers autour de ces Handles Users Natifs.
    Un Handle Kernel est l'adresse d'un champ dans une structure (ce n'est pas l'adresse de la structure pour des problématiques d'insertion dans des listes multiples du Kernel). Cette structure est fonction du type d'objet que représente le handle mais elle "dérive" toujours d'une forme initiale commune.

    Je ne connais pas d'autres moyens pour le faire que de celui du passage en mode natif. Comme le besoin est extrêmement peu courant, je ne pense pas qu'une version managée existe. Vous pouvez toujours utiliser Reflector (http://www.red-gate.com/products/reflector/) pour vérifier si un wrapper a été implémenté dans le code managé du Framework .NET.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Merci bacelar pour cette reponse.

    Ca confirme bien mes recherche et je vais donc devoir continuer à utiliser les methodes du C++ natif.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Styles]lister les propriétés des styles
    Par peyo_le_fou dans le forum Word
    Réponses: 6
    Dernier message: 16/05/2007, 12h33
  2. Réponses: 2
    Dernier message: 06/04/2007, 11h48
  3. Lister les paramètres des procédures d'un schéma
    Par raoulbranche dans le forum Oracle
    Réponses: 4
    Dernier message: 20/09/2006, 12h27
  4. duppliquer une BD+lister les noms des BD existantes
    Par da_latifa dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 17/03/2006, 08h58
  5. Comment obtenir les Handles des boutons systèmes de Windows ?
    Par Desraux dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 22/12/2004, 22h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo