begin process at 2012 02 12 11:39:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Listers les handles des fenêtres ouvertes


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

Listers les handles des fenêtres ouvertes

mardi 25 octobre 2005 à 21:13:52 | Listers les handles des fenêtres ouvertes

fg85

Membre Club
Bonjour,

Je souhaiterai lister (dans une listbox), le titre des fenêtres actives, avec comme valeur pour chaque ligne le handle de la fenêtre.

Ce qui devrait donner quelque chose comme cela dans la listbox :

-----------------------------
mon application (valeur handle : 10589)
www.google.fr - Mozilla firefox (valeur handle : 984354)
Dossier test ( valeur handle : 9846519874)
-----------------------------

S'il serai possible de faire simple je vous en serai grandement reconnaissant.

Merci d'avance pour vos réponses .

---------------------------------------
[ Lien ]
mardi 25 octobre 2005 à 21:56:45 | Re : Listers les handles des fenêtres ouvertes

nhervagault

Administrateur CodeS-SourceS
Réponse acceptée !
Salut

Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal
lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function BringWindowToTop Lib "user32" (ByVal hwnd As Long) As Long

dans un bouton :
Private Sub Command1_Click()
Dim hNoteWnd As Long
Dim x As Long
   hNoteWnd = FindWindow("Notepad", "Sans titre - Bloc-notes")
   If hNoteWnd = 0 Then
   'le notepad avec le titre "Sans titre - Bloc-notes" n'est pas en mémoire
           x =Shell("notepad.EXE", vbNormalFocus)
   Else
   'il est en mémoire : on le force en avant plan
        BringWindowToTop (hNoteWnd)
  End If
End Sub

Sinon, tu peux utiliser GetWindow pour obtenir la liste de toutes les
fenêtres actives :

dans un module basique :
Public Const GW_HWNDFIRST = 0
Public Const GW_HWNDNEXT = 2
Declare Function GetWindow Lib "user32" Alias "GetWindow" (ByVal hwnd As
Long, ByVal wCmd As Long) As Long
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal
hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

dans un bouton :
Private Sub Command1_Click()
Dim hWndNext As Long
Dim x As Long
Dim lpString As String * 255
Dim vLen As Long

    hWndNext = GetWindow(hWnd, GW_HWNDFIRST)
    If hWndNext <> 0 Then
        vLen = GetWindowText  (hWndNext , lpString , len(lpString ))
        Debug.print Left(lpString ,vLen )
    End If
    do until  hWndNext = 0
        hWndNext = GetWindow(hWndNext, GW_HWNDNEXT)
        vLen = GetWindowText  (hWndNext , lpString , len(lpString ))
        Debug.print Left(lpString ,vLen )
    loop
End Sub

Voila un petit debut
APres a toi faire la suite.

mercredi 26 octobre 2005 à 06:41:23 | Re : Listers les handles des fenêtres ouvertes

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Voir ma source nommée Anti-Pub

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
jeudi 27 octobre 2005 à 15:45:13 | Re : Listers les handles des fenêtres ouvertes

fg85

Membre Club
Bon j'ai modifié le code comme ceci :
Private Sub Command1_Click()
Dim hWndNext As Long
Dim x As Long
Dim lpString As String * 255
Dim vLen As Long
Dim txt As String

    hWndNext = GetWindow(hwnd, GW_HWNDFIRST)
    If hWndNext <> 0 Then
        vLen = GetWindowText(hWndNext, lpString, Len(lpString))
       
        txt = Left(lpString, vLen)
        If txt = "" Then
        Else
            List1.AddItem txt, 0
        End If

    End If
    Do Until hWndNext = 0
        hWndNext = GetWindow(hWndNext, GW_HWNDNEXT)
        vLen = GetWindowText(hWndNext, lpString, Len(lpString))
        txt = Left(lpString, vLen)
        If txt = "" Then
        Else
            List1.AddItem txt, 0
        End If
    Loop
End Sub


Maintenant le problème, est que ce code m'affiche une liste avec plein d'autre chose autre que des fenêtres, or je souhaiterai juste lister les fenêtres actives. Comment est-ce possible ?

PS : Par fenêtre active, j'entend les fenêtres qu'on peut accéder par la barre de tâches.

-------------------------------
http://fg.logiciel.free.fr
jeudi 27 octobre 2005 à 18:43:37 | Re : Listers les handles des fenêtres ouvertes

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Au risque de me répéter : Voir ma source nommée Anti-pub : elle fait ce que tu demande !
_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
jeudi 27 octobre 2005 à 19:11:59 | Re : Listers les handles des fenêtres ouvertes

fg85

Membre Club
Oui mais je souhaiterai un exemple concret, je débute et je ne comprend rien à votre source :(.

http://fg.logiciel.free.fr
dimanche 30 octobre 2005 à 12:04:18 | Re : Listers les handles des fenêtres ouvertes

fg85

Membre Club
Réponse acceptée !
Ben en faite, DarK Sidious, en cherchant dans ta source et en supprimer l'optionnel de l'essentiel, sa fonctione très bien.

Merci beaucou à toi
DarK Sidious et à nhervagault, en compilant vos codes, j'ai réussi à créer ce que je voulais. Merci

http://fg.logiciel.free.fr


Cette discussion est classée dans : valeur, handle, fenêtres, handles, listers


Répondre à ce message

Sujets en rapport avec ce message

Gestion de fenêtres et API [ par cobra84 ] J'aimerais lancer une application/document externe à mon application VB et récuperer l'Handle de la fenêtre ainsi créée. J'utilise donc ShellExecute, Gestion de fenêtres et API [ par cobra84 ] J'aimerais lancer une application/document externe à mon application VB et récuperer l'Handle de la fenêtre ainsi créée. J'utilise donc ShellExecute, [VB]Taille des fenêtres [ par Dinbougre ] voilà je voudrais savoir comment faire pour ouvrir une feuille en plein écran puisque par défaut la feuille est ouverte en petite taille API ShellExecute [ par jockos ] Salut,LE premier paramètre de la méthode Api ShellExecute est un Long qui a pour nom Hwnd...J'ai été voir sur la MSDN et il semblerai que ce soit l'ha BUG VB. [ par Philipina ] essayez la syntaxe suivante dans le fenêtre immediate:?format(hex(27),"00")Essayez plusieus fois en remplacant la valeur 27 par une autre valeur, cela pb URGENT en ACCESS [ par zeDevil ] Salut !un piti pb super urgent ke j'arrive po à m'en dépatouiller !Voila, g une table ACCESS dans laquelle il y a des données du type : valeur d'axes Recuperer la valeur d'une zone de text sur un logiciel X [ par Alex001 ] Salut tous le monde,Ma question !!!Je voudrais recuperer le contenu d'un controle text sur un logiciel (x) afin de créer un pont vers mon log en fonct Excel: Sélectionner et mettre en surbrillance une ligne [ par SuperTonic ] Bonjour, Je suis en train de dev. une petite appli de gestion sous Excel.Je bloque que le fait de Sélectionner la ligne et de la mettre en surbrillanc mettre 1 valeur par defaut dans un champs [ par Enaira ] Je cherche à prog une valeur par défaut dans un champs d'une table access quand j'appuie sur un bouton "nouveau". J'ai essayé d'utiliser la propriété Selectionner une ligne suite à un Find avec VB/Excel [ par SuperTonic ] Bonjour, Je suis en train de dev. une petite appli de gestion sous Excel.Je bloque que le fait de Sélectionner la ligne et de la mettre en surbrillanc


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 : 0,530 sec (4)

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