Lister les fenêtres ouvertes [Résolu]

MaxSoldier 289 Messages postés dimanche 10 août 2003Date d'inscription 28 février 2009 Dernière intervention - 21 juil. 2006 à 19:52 - Dernière réponse : MaxSoldier 289 Messages postés dimanche 10 août 2003Date d'inscription 28 février 2009 Dernière intervention
- 22 juil. 2006 à 16:12
Bonjours ! Voilà, je fais un anti-pop up et je dois connaîtres quelles sont les fenêtres ouvertes ( et non les processus ), et savoir comment acceder a leur propriété ( genre le titre,mais je pense savoir comment faire, mais seulement avec les DLL COM et si quelqu'un sait comment le faire en pur DotNet 2.0... ) et comment les fermer. Je sais que j'en demande beaucoup mais qui ne tente rien n'a rien alors...

Merci d'avance ! Bye ++
-=Ar$£nik=-
Afficher la suite 

3 réponses

Répondre au sujet
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 21 juil. 2006 à 20:05
+3
Utile
Salut,

A ma connaissance aucun wrappage public n'a été fait dans la BCL pour donner accès à ce genre d'informations. Tu devras forcément passer par du PInvoke sur l'API de gestion des fenêtres.

/*
coq
MVP Visual C#
CoqBlog
*/
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_coq
iow4 303 Messages postés samedi 22 octobre 2005Date d'inscription 2 novembre 2008 Dernière intervention - 22 juil. 2006 à 00:08
+3
Utile
Pour le nom d'une fenetre tu as comme API : GetWindowsText et pour fermer une fenetre tu a l'api CloseWindow

http://www.secretswindows.com/index.php?rubrique=API&ssrubrique=A&ID=1&page=./api/detailfonction.php
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de iow4
MaxSoldier 289 Messages postés dimanche 10 août 2003Date d'inscription 28 février 2009 Dernière intervention - 22 juil. 2006 à 16:12
0
Utile
J'ai réussi, pour ceux que ça interesse :
        // Déclarations API et délégué :
        // --------------------------------------------------------------------------------------------------------
       
        [DllImport("user32")]
        public static extern int EnumWindows(EnumWindowsProc lpEnumFunc, int lParam);

        [DllImport("user32.dll")]
        public static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount);
       
        [DllImport("user32.dll")]
        public static extern int GetWindowTextLength(IntPtr hWnd);
       
        [DllImport("user32.dll")]
        public static extern int SendMessage(int hWnd, uint Msg, int wParam,int lParam );
       
        public const int WM_SYSCOMMAND = 0x0112;
        public const int SC_CLOSE = 0xF060;

        public delegate bool EnumWindowsProc(IntPtr hwnd, int lParam);
       
        // --------------------------------------------------------------------------------------------------------

       
        public string[] ProcessList;
        public IntPtr[] ProcessHandle;
       
        public int ProcessCount=0;
public void CloseWindow(string Name){
           
            for(int i=0;i

-=Ar$£nik=-
Commenter la réponse de MaxSoldier

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.