|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : API EnumWindows et postmessage [ Windows / API ] (Lapin26)
Informations & options pour cette discussion
|
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é 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
|
Téléchargements
Logiciels à télécharger sur le même thème :
|