begin process at 2010 02 10 10:11:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

API

 > 

[API windows] lister les controles


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[API windows] lister les controles

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ée 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 ( Récupérer les paramètres régionaux Windows [ par shedex ] [b]onjour, je souhaiterais récupérer les paramètres régionaux Windows concernant les virgule ou les point mais je ne vois pas comment faire Pourri


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales