Accueil > Forum > > > > API EnumWindows et postmessage
API EnumWindows et postmessage
jeudi 21 juin 2007 à 16:37:33 |
API EnumWindows et postmessage

Lapin26
|
Bonjour, je cherche à fermer toutes les fenêtres ouvertes (sans toucher aux process de windows et sans toucher à une fenêtre dont je connais le nom), il faut donc que je fasse appel aux API EnumWindows et PostMessage mais l'utilisation de EnumWindows me pose problème... Je ne sais pas comment utiliser EnumWindows ni comment récupérer les résultats qu'elle doit me renvoyer.
Est-ce que quelqu'un peut m'aider ?
|
|
jeudi 21 juin 2007 à 16:44:16 |
Re : API EnumWindows et postmessage

Lapin26
|
Hm, en fait il ne me reste plus qu'à savoir comment on stocke et exploite les handles que nous renvoie EnumWindows...
|
|
jeudi 21 juin 2007 à 17:20:21 |
Re : API EnumWindows et postmessage

Lapin26
|
En fait ça marche, mais il me reste juste à empêcher la fermeture de mon programme :s
Voila ce que j'ai fait déja :
Private Sub frm_principal_Load() EnumWindows AddressOf EnumWindowsProc, ByVal 0& End Sub
Public Function EnumWindowsProc(ByVal hwnd As Long, ByVal lParam As Long) As Boolean Dim sSave As String, Ret As Long Ret = GetWindowTextLength(hwnd) sSave = Space(Ret) GetWindowText hwnd, sSave, Ret + 1 Handle_prj = frm_principal.hwnd If hwnd <> Handle_prj Then PostMessage hwnd, &H10, 0, 0 End If EnumWindowsProc = True End Function
Le problème c'est que ça me ferme aussi mon programme !
Là je ne comprends plus rien...
|
|
jeudi 21 juin 2007 à 17:40:22 |
Re : API EnumWindows et postmessage
|
jeudi 21 juin 2007 à 17:49:20 |
Re : API EnumWindows et postmessage

Lapin26
|
C'est pas que j'ai pas essayé de comprendre, mais déja je ne connais rien en cpp mais en plus faire une traduction... 
|
|
jeudi 21 juin 2007 à 18:18:13 |
Re : API EnumWindows et postmessage

zavier666
|
Deux sites en français totalement:
API @ la Loupe / VB researrch center
slts!
---------------------------------------------------
Toujours + de VB et d'API => APi @ la Loupe
http://apialaloupe.free.fr
|
|
jeudi 21 juin 2007 à 18:44:29 |
Re : API EnumWindows et postmessage

Gobillot
|
Le problème c'est que ça me ferme aussi mon programme !
là tu m'étonnes , j'imagine mal ce qui doit se passer ... t'es en train de fermer toutes les fenêtres, les visibles, les invisibles, y compris même progman manager, etc ...
pour avoir une idée de ce que tu fermes: voilà une Liste de toutes les fenêtres en cours dans une ListView (sans subclassing) la ListView s'appelle LV. je te laisse faire les déclarations et définitions
Private Sub Form_Load() Lv.ColumnHeaders.Add , , "Hwnd", 60 Lv.ColumnHeaders.Add , , "Classe", 125 Lv.ColumnHeaders.Add , , "NOM", 200 Lv.ColumnHeaders.Add , , "Taille", 75 MHwnd = Me.hwnd EnumWindows End Sub
Function EnumWindows() Dim Ligne As ListItem Dim hwnd As Long Dim Lg As Long Dim Rp As Long Dim Rs As Long Dim zRw As Long Dim zRh As Long Dim Nom As String Dim Class As String Dim Tr As RECT hwnd = GetDesktopWindow() hwnd = GetWindow(hwnd, GW_CHILD) Do While hwnd <> 0 Rp = IsWindowVisible(hwnd) ' If Rp = 0 Then GoTo 10 Rp = IsIconic(hwnd) ' If Rp > 0 Then GoTo 10 ' If hwnd = MHwnd Then GoTo 10 Lg = GetWindowTextLength(hwnd) ' If Lg = 0 Then GoTo 10 Rp = GetWindowRect(hwnd, Tr) zRw = Tr.Right - Tr.Left ' If zRw = 0 Then GoTo 10 zRh = Tr.Bottom - Tr.Top ' If zRh = 0 Then GoTo 10 Nom = Space$(Lg + 1) GetWindowText hwnd, Nom, Lg + 1 Nom = Left$(Nom, Lg) Class = Space$(120) Lg = GetClassName(hwnd, Class, 120) Class = Left$(Class, Lg) ' If Class = "ThunderRT6PictureBoxDC" Then GoTo 10 ' If Class = "Shell_TrayWnd" Then GoTo 10 ' If Class = "IEFrame" then goto 10 ' if Class = "ThunderRT6FormDC" Then goto 10 Set Ligne = Lv.ListItems.Add Ligne.Text = Format$(hwnd, "00000000") Ligne.SubItems(1) = Class Ligne.SubItems(2) = Nom Ligne.SubItems(3) = zRw & "x" & zRh 10 hwnd = GetWindow(hwnd, GW_HWNDNEXT) Loop
End Function
Daniel
|
|
Cette discussion est classée dans : api, enumwindows, postmessage, toucher
Répondre à ce message
Sujets en rapport avec ce message
sendmessage postmessage api [ par marty14 ]
Bonsoir tt le monde,J' ai une petite question a vous poser , j'utilise les API SENDMESSAGELONG pour envoyer une commande a un programme mais mon peti
question erreur [ par marty14 ]
Bonjour,Je cale sur un retour d'erreur , si j'envois au programe AA qui n'est pas ouvert:Call PostMessage(AA, WM_KEYDOWN, vbKeyDown, 0&) 'DOWNCall Pos
Quelle API pour modifier l'accélération matérielle de la carte son ? [ par jmc70 ]
Par défaut, Windows XP ajuste l'accélération matérielle de la carte son au maximum. Or avec certains PC équipés de cartes de début de gamme, des probl
l'arobase avec l'api keybd_event [ par itzapalapa ]
Salut, Je cherche à automatiser certains de mes surfs quotidiens et je ne parviens pas à générer le signe '@' avec l'aide de l'api 'keybd_event' ; je
copier coller en couleur [ par patbl ]
bonjour,je suis perdue depuis quelques jours la je bloque, j'ai besoin de votre aide ce que je veux faire j'ai une feuille "ne pas toucher" et une aut
Positionnement par Api d'une liste de Directorie [ par Cjvg ]
Bonjour, J'utilise les Apis - SHBrowseForFolder(Boite) et SHGetPathFromIDList - pour afficher desdirectories.Question: Peux t'on positionner la b
Construire la réplique MenuStrip d'un menu récupéré avec l'API GetMenu() [ par Gammacronosios ]
Bonjour amis programmeur.Je suis loin d'être débutant en programmation vb.net, mais je dois dire que là, j'ai comme un problème...Voila, je souhaitera
?API vista - Sons - Obtenir et modifier le volume principale [ par werdDomain ]
Bonjours, j'aimerais mettre la main sur les api de vista pour contrôler le volume principale ...J'ai chercher sur le web, peut-être que je n'utilise p
Api dans Visual Studio 2008 ? [ par Solher ]
Salut !J'ai un problème avec le Api dans Visual Studio 2008.En fait j'ai copié un code pour modifier mon form en rectangle avec les bords arrondis.Dan
sendmesage Postmessage [ par POURMONET ]
Bonjour,ça coince. Je dois être un peu neuneu, mais ce bout de code ne fonctionne pas.j'ai une application qui tourne, elle s'appelle "Identification"
Livres en rapport
|
Derniers Blogs
DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|