Histoire de m'occuper, j'ai fait ce bout de code qui liste les fichiers et les applis ouverts dans une ListBox, et lors du choix de l'item, une autre Form s'ouvre avec l'aperçu dedans, grâce à l'API PrintWindow.
En fait je me baladais sur DelphiFR.com et j'ai vu ce titre, alors je l'ai fait en VB ;)
Source / Exemple :
Public Sub AddWindowsName(oForm As Form, oControl As String)
Dim Handle As Long
Dim NewHandle As Long
Dim i As Long
Dim sNameWindow As String
' Handle de la Form qui appelle la méthode
Handle = oForm.hWnd
' Handle de la Form qui appelle la méthode en propriété
HandleForm = oForm.hWnd
' Passage de la valeur du Handle
NewHandle = Handle
On Local Error Resume Next
' Recherche des handle + affichage de la liste dans le contrôle mis en paramètre
For i = 2 To 3
Do
Handle = NewHandle
' And IsIconic(Handle)
If IsWindow(Handle) = 1 And (IsWindowVisible(Handle)) Then
If Not Not (IsIconic(Handle)) Then
sNameWindow = String(100, Chr$(0))
GetWindowText Handle, sNameWindow, 100
sNameWindow = Left$(sNameWindow, InStr(sNameWindow, Chr$(0)) - 1)
If sNameWindow <> vbNullString Then
oForm.Controls(oControl).AddItem sNameWindow
Debug.Print "~" & CStr(Handle) & "~" & sNameWindow & "~"
mcolWindows.Add CStr(Handle), sNameWindow
End If
End If
End If
NewHandle = GetNextWindow(Handle, i)
Loop Until Handle = NewHandle
Next i
End Sub
Public Sub GenerateWindow(ByVal sName As String, ByVal oFormPrint As Form)
' obligé d'afficher la fenêtre voulue sinon elle n'apparait pas dans la form :$
Load oFormPrint
ShowWindow CLng(mcolWindows.Item(sName)), SW_SHOWNORMAL
oFormPrint.Caption = sName
oFormPrint.AutoRedraw = True
PrintWindow mcolWindows.Item(sName), oFormPrint.hDC, 0
ShowWindow CLng(mcolWindows.Item(sName)), SW_SHOWMINIMIZED
oFormPrint.Show
End Sub
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.