Pb handle

lejujudu62 Messages postés 15 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 10 novembre 2008 - 22 oct. 2007 à 17:27
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 22 oct. 2007 à 21:28
je voudrais recuperer le hazndle d'une fenetre et changer le nom de cette fenetre
mais cela ne marche pas

je créer un fichier bidon avec le bloc note pour essayer : text1.txt

je tape mon code dans vb 2005 express

Public

Class Form1

Public
Declare
Function FindWindow
Lib
"user32"
Alias
"FindWindowA" (
ByVal lpClassName
As
String,
ByVal lpWindowName
As
String)
As
Long

Public
Declare
Function SetWindowText
Lib
"user32"
Alias
"SetWindowTextA" (
ByVal hwnd
As
Long,
ByVal lpString
As
String)
As
Long

Public
Sub Button1_Click()

Dim handle
As
Stringhandle = FindWindow(vbNullString, text1.txt)

SetWindowText(handle, text2.txt)

End
SubEnd

Class

vb me dit que text1 et text2 ne sont pas déclaré pourtant mon fichier text1.txt est lancé!!!

merci de m'aider parce que la je vois pas!!!

4 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 oct. 2007 à 18:00
Aucune API ne retourne String.
Dim handle As Long

ciao...
BruNews, MVP VC++
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
22 oct. 2007 à 19:25
ATTENTION, en VB2005, il faut remplacer les Long par des Integer dans les déclarations des api (et donc aussi des variables de retours).

De plus le nom des fenetres que tu passes sont, je présume, des constantes et non pas le contenu de textbox que tu aurais mis sur ta form (vu le message d'erreur que tu retourne). Dans ce cas il faut les saisir comme cahines de caractères et non pas comme controles.

Public Class Form1

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
Public Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Integer, ByVal lpString As String) As Integer

Public Sub Button1_Click()
Dim handle As Integer

    handle = FindWindow(vbNullString, "text1.txt")
    SetWindowText(handle, "text2.txt")

End Sub

End Class

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
22 oct. 2007 à 21:19
coucou, casy ....

Relis : il passe un nom de fichier texte (même pas son contenu...)

patapé... je sors...
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
22 oct. 2007 à 21:28
Qu'ai-je dit ?...
C'est pire : c'est un fichier texte qu'il passe .... même pas un nom...
0
Rejoignez-nous