Il vaudrait donc mieux utiliser la méthode avec StrPtr et StrConv (un
benchmark devrait être réalisé pour s'en assurer formellement), sauf
Il vaudrait donc mieux utiliser la méthode avec StrPtr et StrConv (un
benchmark devrait être réalisé pour s'en assurer formellement), sauf
Il vaudrait donc mieux utiliser la méthode avec StrPtr et StrConv (un
benchmark devrait être réalisé pour s'en assurer formellement), sauf
mml wrote:
> D'autre part, pourrai-je avoir un bout de code illustrant la méthode
> utilisant SendMessage avec WM_GETTEXT, stp ?
Hello,
voici un petit bout de code.
Il te faut une form, un textbox et un bouton de commande.
tu tapes qq chose dans la textbox puis tu cliques sur
le bouton.
Option Explicit
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" ( _
ByVal hWnd As Long, ByVal Msg As Long, _
wParam As Any, lParam As Any) As Long
Const WM_GETTEXT As Long = &HD
Private Sub Form_Load()
Text1.PasswordChar = "*"
End Sub
Private Sub Command1_Click()
Dim res As Long
Dim buf As String
buf = Space(255)
res = SendMessage(Text1.hWnd, WM_GETTEXT, ByVal 255&, ByVal
buf = StrConv(buf, vbUnicode)
MsgBox "buf = " & buf
End Sub
C'est comme ça que marchent les "révélateurs" de mots de passe ...
Cordialement;
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
mml wrote:
> D'autre part, pourrai-je avoir un bout de code illustrant la méthode
> utilisant SendMessage avec WM_GETTEXT, stp ?
Hello,
voici un petit bout de code.
Il te faut une form, un textbox et un bouton de commande.
tu tapes qq chose dans la textbox puis tu cliques sur
le bouton.
Option Explicit
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" ( _
ByVal hWnd As Long, ByVal Msg As Long, _
wParam As Any, lParam As Any) As Long
Const WM_GETTEXT As Long = &HD
Private Sub Form_Load()
Text1.PasswordChar = "*"
End Sub
Private Sub Command1_Click()
Dim res As Long
Dim buf As String
buf = Space(255)
res = SendMessage(Text1.hWnd, WM_GETTEXT, ByVal 255&, ByVal
buf = StrConv(buf, vbUnicode)
MsgBox "buf = " & buf
End Sub
C'est comme ça que marchent les "révélateurs" de mots de passe ...
Cordialement;
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
mml wrote:
> D'autre part, pourrai-je avoir un bout de code illustrant la méthode
> utilisant SendMessage avec WM_GETTEXT, stp ?
Hello,
voici un petit bout de code.
Il te faut une form, un textbox et un bouton de commande.
tu tapes qq chose dans la textbox puis tu cliques sur
le bouton.
Option Explicit
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" ( _
ByVal hWnd As Long, ByVal Msg As Long, _
wParam As Any, lParam As Any) As Long
Const WM_GETTEXT As Long = &HD
Private Sub Form_Load()
Text1.PasswordChar = "*"
End Sub
Private Sub Command1_Click()
Dim res As Long
Dim buf As String
buf = Space(255)
res = SendMessage(Text1.hWnd, WM_GETTEXT, ByVal 255&, ByVal
buf = StrConv(buf, vbUnicode)
MsgBox "buf = " & buf
End Sub
C'est comme ça que marchent les "révélateurs" de mots de passe ...
Cordialement;
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
François Picalausa wrote:
> Il vaudrait donc mieux utiliser la méthode avec StrPtr et StrConv (un
> benchmark devrait être réalisé pour s'en assurer formellement), sa uf
Un petit benchamrk donne des résultats qui vont
contre l'intuition.
Pour conclure, il semble que le meilleur compromis en terme
de performance, portabilité, robustesse et justess du code soit
ceci :
<snip>
buf = Space(SendMessage(hwnd, WM_GETTEXTLENGTH, ByVal 0&, ByVal 0&))
strSize = LenB(buf)
If strSize Then
res = SendMessage(hwnd, WM_GETTEXT, ByVal strSize, ByVal buf)
buf = Left(buf, res)
End If
François Picalausa wrote:
> Il vaudrait donc mieux utiliser la méthode avec StrPtr et StrConv (un
> benchmark devrait être réalisé pour s'en assurer formellement), sa uf
Un petit benchamrk donne des résultats qui vont
contre l'intuition.
Pour conclure, il semble que le meilleur compromis en terme
de performance, portabilité, robustesse et justess du code soit
ceci :
<snip>
buf = Space(SendMessage(hwnd, WM_GETTEXTLENGTH, ByVal 0&, ByVal 0&))
strSize = LenB(buf)
If strSize Then
res = SendMessage(hwnd, WM_GETTEXT, ByVal strSize, ByVal buf)
buf = Left(buf, res)
End If
François Picalausa wrote:
> Il vaudrait donc mieux utiliser la méthode avec StrPtr et StrConv (un
> benchmark devrait être réalisé pour s'en assurer formellement), sa uf
Un petit benchamrk donne des résultats qui vont
contre l'intuition.
Pour conclure, il semble que le meilleur compromis en terme
de performance, portabilité, robustesse et justess du code soit
ceci :
<snip>
buf = Space(SendMessage(hwnd, WM_GETTEXTLENGTH, ByVal 0&, ByVal 0&))
strSize = LenB(buf)
If strSize Then
res = SendMessage(hwnd, WM_GETTEXT, ByVal strSize, ByVal buf)
buf = Left(buf, res)
End If