Pb handle

Signaler
Messages postés
15
Date d'inscription
vendredi 6 juillet 2007
Statut
Membre
Dernière intervention
10 novembre 2008
-
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
-
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

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Aucune API ne retourne String.
Dim handle As Long

ciao...
BruNews, MVP VC++
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
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
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
coucou, casy ....

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

patapé... je sors...
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Qu'ai-je dit ?...
C'est pire : c'est un fichier texte qu'il passe .... même pas un nom...