begin process at 2012 02 11 10:47:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Système

 > 

Autre

 > 

Lister les fenêtres ouvertes


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

Lister les fenêtres ouvertes

vendredi 21 juillet 2006 à 19:52:52 | Lister les fenêtres ouvertes

MaxSoldier

Membre Club
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=-
vendredi 21 juillet 2006 à 20:05:07 | Re : Lister les fenêtres ouvertes

coq

Administrateur CodeS-SourceS
Réponse acceptée !
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
*/
samedi 22 juillet 2006 à 00:08:01 | Re : Lister les fenêtres ouvertes

iow4

Membre Club
Réponse acceptée !
Pour le nom d'une fenetre tu as comme API : GetWindowsText et pour fermer une fenetre tu a l'api CloseWindow

[ Lien ]
samedi 22 juillet 2006 à 16:12:07 | Re : Lister les fenêtres ouvertes

MaxSoldier

Membre Club
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<ProcessCount;i++){
               
                if(ProcessList[i] == Name){
                    SendMessage(ProcessHandle[i].ToInt32(),WM_SYSCOMMAND,SC_CLOSE,0);
                }
            }
           
        }
        public void ScanWindows(){
            ProcessCount=0;
           
            EnumWindows(new EnumWindowsProc(EnumWindow), 0);
        }
       
       
        public void ListProcess(){
            lstMain.Items.Clear();
           
            for(int i=0;i<ProcessCount;i++){
                lstMain.Items.Add(ProcessList[i]);
            }
           
            lstMain.Sorted=true;
           
        }
       
        public static string GetWindowText(IntPtr hWnd)
        {
            StringBuilder sb = new StringBuilder(GetWindowTextLength(hWnd) + 1);
            GetWindowText(hWnd, sb, sb.Capacity);
            return sb.ToString();
        }
       
        public bool EnumWindow(IntPtr hwnd, int lparam)
        {
            string sBuffer = GetWindowText(hwnd);
           
            if(sBuffer!=""){
                ProcessHandle[ProcessCount] = hwnd;
                ProcessList[ProcessCount] = sBuffer;
                ProcessCount+=1;
            }
           
            return true;
        }



-=Ar$£nik=-


Cette discussion est classée dans : lister, fenêtres, ouvertes


Répondre à ce message

Sujets en rapport avec ce message

Lister les objets d'une forme [ par DrChal ] DrChalBonjour je souhaiterai lister les objets d'une forme. Si quelq'un pouvait me convertir ce code source vb en C#, ce serait super sympathdim X as Lister les fichiers ouverts [ par pisko ] Salut,Je souahiterais recuperer la liste des fichiers un peu comme le fait le répertoire Recent de windows. Je ne peux pas m'appuyer sur ce dernier ca Lister les tables ... [ par maevacmoi ] Hello !Comment lister le nom des tables contenues dans une base ? Merci pour votre aide. lister les fichiers d'un répertoire en visual studio c#[débutante] [ par gwady ] Bonsoir,Voila, je voudrais lister les fichiers d'un répertoire bien précis, mais je ne sais pas comment faire avec visual studio c#. En lisant certain Lister des fichiers et dossier dans une listbox avec visual c#!! [ par meihua ] Voilà en fait je voudrais savoir comment on fait pour lister des fichiers et des sous repertoires dans une listbox de plus, ces fichiers et sous reper Une appli, plusieurs fenêtres, l'intérieur est "blanc" [ par Ghyu ] Bonjour, je débute en C#.J'ai fait une petite appli avec une fenêtre principale, qui doit recevoir plein d'informations, informations qui sont calculé lister des repertoires en c++ [ par totoch ] bonjour,je ne suis pas tres fort en programmation et j'ai besoin de lister de la maniere la plus simple possible des repertoires contenus dans un doss lister les membres d un groupe active directory [ par loseyes ] bonjour,je travaille actuellement sur une application en c# s'appuyant sur l'active directory. Je parviens sans aucun probleme à lister les utilisateu Lister une table => winform + vs.net [ par jimmy69 ] Bonsoir, Voila je debute en c# sous visual studio . net version 2003 je pense ! j'ai deja fait un peu d'asp.net et j'arrivais a lister une table sql s Lister les classes d'un namespace [ par taoetc ] voila , j'aiemrais lister les classes d'un namespaceAuriez vous une solution, je suis un peu à la rue lamerci d'avance


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 1,435 sec (3)

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