CHANGEUR DE TITRE! DÉMONSTRATION DES APIS : SETWINDOWTEXT, FINDWINDOW
UKR6900
Messages postés4Date d'inscriptionjeudi 23 janvier 2003StatutMembreDernière intervention24 juin 2006
-
24 juin 2006 à 09:53
perclout
Messages postés1Date d'inscriptionsamedi 5 mai 2007StatutMembreDernière intervention 8 juillet 2007
-
8 juil. 2007 à 12:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
perclout
Messages postés1Date d'inscriptionsamedi 5 mai 2007StatutMembreDernière intervention 8 juillet 2007 8 juil. 2007 à 12:28
Bonjour, si le code d'ukr6900 fonctionne, c'est que le classname de notepad est "notepad"; pour rechercher d'après le titre, c'est le second terme qui doit être renseigné.
Si quelqu'un a les idées claires sur les tailles de données , selon que l'on soit en VB6 ou en vb2005, je prends...
relu 3 fois...A+
UKR6900
Messages postés4Date d'inscriptionjeudi 23 janvier 2003StatutMembreDernière intervention24 juin 2006 24 juin 2006 à 09:53
Ce code n'a pas fonctionné essaye plutot ceci
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Dim lhandle As Long 'défini le handle de la fenêtre recherché
Private Sub Command1_Click()
Shell "Notepad", vbNormalFocus
lhandle = FindWindow("Notepad", vbNullString) 'trouve le handle grâce au titre de la fenêtre
If (lhandle <> 0) Then
SetWindowText lhandle, "Hello World" 'change le titre de la fenêtre
End If
End Sub
ce code est testé avec le process "Notepad" correction:
le handle doit être de type long
Lancer le process notepad pour tester avec la commande "shell"
Contrôler si le handle différent de NULL ->fenêtre trouvée
Lancer la commande pour changer le titre
A++
8 juil. 2007 à 12:28
Si quelqu'un a les idées claires sur les tailles de données , selon que l'on soit en VB6 ou en vb2005, je prends...
relu 3 fois...A+
24 juin 2006 à 09:53
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Dim lhandle As Long 'défini le handle de la fenêtre recherché
Private Sub Command1_Click()
Shell "Notepad", vbNormalFocus
lhandle = FindWindow("Notepad", vbNullString) 'trouve le handle grâce au titre de la fenêtre
If (lhandle <> 0) Then
SetWindowText lhandle, "Hello World" 'change le titre de la fenêtre
End If
End Sub
ce code est testé avec le process "Notepad" correction:
le handle doit être de type long
Lancer le process notepad pour tester avec la commande "shell"
Contrôler si le handle différent de NULL ->fenêtre trouvée
Lancer la commande pour changer le titre
A++