CHANGEUR DE TITRE! DÉMONSTRATION DES APIS : SETWINDOWTEXT, FINDWINDOW

UKR6900 Messages postés 4 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 24 juin 2006 - 24 juin 2006 à 09:53
perclout Messages postés 1 Date d'inscription samedi 5 mai 2007 Statut Membre Derniè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.

https://codes-sources.commentcamarche.net/source/30398-changeur-de-titre-demonstration-des-apis-setwindowtext-findwindow

perclout Messages postés 1 Date d'inscription samedi 5 mai 2007 Statut Membre Derniè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és 4 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 24 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++