Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [API windows] lister les controles [ Windows / API ] (blink18254)

mardi 8 janvier 2008 à 22:33:24 | [API windows] lister les controles

blink18254

Bonjour a tous,

J'aimerai savoir comment je peux récupérer et lister tous les controles d'une application externe.
J'arive à récupérer le handle sur la bonne fenetre, mais ensuite je ne sais pas.

merci

mercredi 9 janvier 2008 à 01:35:05 | Re : [API windows] lister les controles

Lutinore

Administrateur CodeS-SourceS
Salut, EnumChildWindows.

mercredi 9 janvier 2008 à 09:48:32 | Re : [API windows] lister les controles

blink18254

ok merci mais comment ca marche en C#, et c'est quoi une callback function?
Je n'ai pas trouvé d'exemples C# sur le net.



mercredi 9 janvier 2008 à 10:21:40 | Re : [API windows] lister les controles

bernie666

Salut,

Je te conseil de te rendre ici ;)

[ Lien ]

-------------------------------------------
http://quoideneufaujourdhui.spaces.live.com

mercredi 9 janvier 2008 à 11:25:49 | Re : [API windows] lister les controles

blink18254

merci bcp, j'obtiens donc une liste contenant des IntPtr venant d'une fenetre.
Mais maintenant comment je sais a quoi correspond tel intPtr, et comment récupérer ses propriétés (car ils sont tous de types différents).

J'espère que j'arrive à me faire comprendre...

mercredi 9 janvier 2008 à 15:52:59 | Re : [API windows] lister les controles

Lutinore

Administrateur CodeS-SourceS

Une fois que tu possèdes le handle d'un contrôle enfant, tu peux utiliser toutes les fonctions Win32 disponibles avec ce handle, comme par exemple GetClassName, pour connaitre son "type" :



public partial class Form1 : Form
{
    [ DllImport( "user32.dll", CharSet = CharSet.Auto, SetLastError = true ) ]
    private static extern int GetClassName
        ( IntPtr hWnd, StringBuilder lpClassName, int nMaxCount );

    //[ DllImport( "user32.dll", CharSet = CharSet.Auto, SetLastError = true ) ]
    //private static extern uint RealGetWindowClass
    //    ( IntPtr hwnd, StringBuilder pszType, uint cchType );

    [ DllImport( "user32.dll" ) ]
    private static extern bool EnumChildWindows
        ( IntPtr hWndParent, EnumChildProc lpEnumFunc, IntPtr lParam );

    private delegate bool EnumChildProc( IntPtr hwnd, IntPtr lParam );

    public Form1( )
    {
        InitializeComponent( );

        this.Show( );

        Button b = new Button( );
        b.Parent = this;
        b.Text = "Enum";
        b.Click += delegate  // Méthode anonyme
        {
            try
            {
                EnumChildWindows
                (
                    this.Handle,
                    delegate ( IntPtr hwnd, IntPtr lParam ) // Méthode anonyme
                    {
                        StringBuilder className = new StringBuilder( 256 );
                        int res = GetClassName( hwnd, className, className.Capacity );

                        if ( res == 0 )
                            throw new Win32Exception( Marshal.GetLastWin32Error( ) );

                        MessageBox.Show( className.ToString( ) );
                        return true;
                    },
                    IntPtr.Zero
                );
            }
            catch ( Exception ex )
            {
                MessageBox.Show( ex.ToString( ) );
            }
        };
    }
}




Cette discussion est classé dans : controles, récupérer, windows, lister, api


Répondre à ce message

Sujets en rapport avec ce message

Nom Complet Session Windows [ par jdaviaud ] Salut a tous, je cherche a récupérer le nom complet de l'utilisateur depuis les informations de sa session WindowsJ'arrive pour le moment à récupérer Lister les fonctions d'une dll non-managée [ par li9 ] Salut tout le monde, est-ce que quelqu'un aurait une idée de ce qu'il faudrait faire pour lister les fonctions( et leurs parametres ) d'une dll qui n' Récupérer les chemins des raccourcis ainsi que les spéciaux de Windows ( Poste de travail, Corbeille ...) [ par oximoron ] Bonjour à tous, je ne pose pas souvent de questions, car je trouve la plupart du temps les réponses dans les codes sources ou dans le forum, mais là n WndProc, API Windows [ par Frederyck ] Salut,alor smon soucis c'est que j'aimerai créer un composant ListView qui accepte une image en fond L'ennui c'est que lorsque que j'essai avec les ap api windows xp [ par sahliali ] je veut savoir comment mon messagebox s'affiche avec les bouton de windows xpet avec avec le windows xp, car mon messagebox s'affiche avec le style de API Windows [ par fredspv ] Bonjour,J'ai un peu de mal à comprendre l'utilisation d'appel API Windows, pourriez-vous m'aider à trouver un bon livre traitant l'API Win ou une doc C# et les API Windows [ par Yxion ] Salut,Je cherche des tutos sur le C# et les API de Windows : Principe, ou je les trouve, etc.Merci I love .net api windows spooler [ par jimmy69 ] bonjour, Quelqu'un connait il le nom de l'api windows a charger pour communiquer avec le spooler ? Je dois realiser une petite appli qui m'avertira q Lister toutes les top-level windows d'un processus [ par bubbathemaster ] Bonjour,Comment fait-on pour récupérer les noms et handles de toutes les top-level windows d'un processus? Supposons que pipo.exe a lancé 3 fenêtres ( Lister les Fenetres de windows [ par notour ] Salut,Je cherche un moyen de lister les fenetres active de windows en c#.Un peu comme Process.GetProcesses() qui permet de lister tout les process.Ave


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.