OVH Cloud OVH Cloud

API Windows ....et boite de dialogue ...

3 réponses
Avatar
Denis
Bonsoir à tous !

Dans une certaine partie d'un code, je suis dans l'obligation de procéder à
l'authentification de l'utilisateur connecté: saisie du username, et du
password .....

Du coup j'avoue être assez "dérangé" par l'utilisation d'une simple msgbox
pour la saisie du mot de passe car celui-ci est affiché en clair lors de la
saisie ....

Donc, ayant vue sur divers forum qu'il était possible d'utiliser directement
l' API Windows (que je découvre en même temps) à travers VBS, je me demande
si il ne serait pas possible de passer par celle-ci afin de cacher la saisie
par des ***** ????

Auriez vous une idée à me soumettre ?

Merci d'avance !

Denis.

3 réponses

Avatar
Stéphane [MS]
Bonjour,

Sur Script Center :
========================== Set objPassword = CreateObject("ScriptPW.Password")
WScript.StdOut.Write "Please enter your password:"

strPassword = objPassword.GetPassword()
Wscript.Echo
Wscript.Echo "Your password is: " & strPassword
==========================
Fonctionne avec CScript, mais pas avec WScript.

Cdlt
Stéphane

"Denis" a écrit dans le message de news:
e%
Bonsoir à tous !

Dans une certaine partie d'un code, je suis dans l'obligation de procéder
à l'authentification de l'utilisateur connecté: saisie du username, et du
password .....

Du coup j'avoue être assez "dérangé" par l'utilisation d'une simple msgbox
pour la saisie du mot de passe car celui-ci est affiché en clair lors de
la saisie ....

Donc, ayant vue sur divers forum qu'il était possible d'utiliser
directement l' API Windows (que je découvre en même temps) à travers VBS,
je me demande si il ne serait pas possible de passer par celle-ci afin de
cacher la saisie par des ***** ????

Auriez vous une idée à me soumettre ?

Merci d'avance !

Denis.



Avatar
Jean-Claude BELLAMY
Dans le message news:e% ,
Denis s'est ainsi exprimé:

Bonsoir à tous !

Dans une certaine partie d'un code, je suis dans l'obligation de
procéder à l'authentification de l'utilisateur connecté: saisie du
username, et du password .....

Du coup j'avoue être assez "dérangé" par l'utilisation d'une simple
msgbox pour la saisie du mot de passe car celui-ci est affiché en
clair lors de la saisie ....

Donc, ayant vue sur divers forum qu'il était possible d'utiliser
directement l' API Windows (que je découvre en même temps) à travers
VBS, je me demande si il ne serait pas possible de passer par
celle-ci afin de cacher la saisie par des ***** ????

Auriez vous une idée à me soumettre ?


La saisie de mot de passe est prévue en VBS à la condition d'utiliser le
contrôle ActiveX "ScriptPW.Password" qui est contenu dans la DLL
"scriptpw.dll".
Cette DLL est n'est apparue qu'avec XP, mais elle fonctionne très bien sous
Windows 2000, j'ai pu le vérifier.

Le MSDN dit d'ailleurs ceci :
(http://msdn.microsoft.com/msdnmag/issues/02/05/wsh/default.aspx)
"Windows XP comes with a new system COM component,
ScriptPW.Password, implemented in the scriptpw.dll file.
Although this is not officially part of the WSH 5.6 object
model, you can certainly use it for your own purposes.
(Incidentally, the component also works under Windows 2000
once you move the DLL and properly register it as a COM component.)
The ScriptPW object works as a password reader and allows
you to type in sensitive data without displaying it."

Cette classe dispose d'une méthode "GetPassword" qui lit un mot de passe au
clavier sans l'afficher à l'écran

...
Set StdOut = WScript.StdOut
Set oPW = CreateObject("ScriptPW.Password")
StdOut.write "Votre mot de passe : "
pwd = oPW.GetPassword
...

NB: ne fonctionne qu'en mode console !

J'y fais appel dans un de mes scripts (EXPORTCERT.VBS) qui sert à exporter
des certificats de chiffrement EFS.
Description :
http://www.bellamyjc.org/fr/cryptobackup.html#saveJCB
Téléchargement :
http://www.bellamyjc.org/download/vbs/exportcert.zip


NB: le zip contient "scriptpw.dll", au cas où on n'en disposerait pas
(Windows 2000).
J'ai pris volontairement cette liberté avec les licences vu que Microsoft
lui-même suggère de le faire!

L'enregistrement du contrôle se fait par la commande :
regsvr32 scriptpw.dll

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*

Avatar
DJ
Denis wrote:
Bonsoir à tous !

Dans une certaine partie d'un code, je suis dans l'obligation de
procéder à l'authentification de l'utilisateur connecté: saisie du
username, et du password .....
....

Auriez vous une idée à me soumettre ?

Merci d'avance !

Denis.


Yo !
j'ai pas une idée mais une question : s'il est connecté , n'est-il pas deja
authentifié ????
dans ce cas le user windows ne te suffit il pas ?
bon ben je te laisse cogoter maintenant :-))

DJ