Page 1 sur 1

[Tuto] Récupérer son nom d'utilisateur Windows

Publié : lun. 24/sept./2007 11:25
par Ar-S
Voilà un petit exemple permettant de récupérer votre nom utilisateur sous windows.

Utilisation de :
- GetHomeDirectory()
- Left
- RemoveString

Le code :


Enumeration
#FEN
#CLICK
EndEnumeration

Procedure FindUserName() ; Par Ar-S - 2007
; On chope le chemin complet
ChemUserName$= GetHomeDirectory ()
; On part de la gauche et on compte 26 caractères, le resultat devient RepUser$
RepUser$= Left (ChemUserName$,26)
; On supprime dans le chemin complet les caracters de RepUser$, il reste donc le nom d'utilisateur + le slash
; qui devient UseNametemp$
UserNameTemp$= RemoveString (ChemUserName$,RepUser$)
; On supprime le Slash du nom d'utilisateur, le resultat devient Username$
UserName$= RemoveString (UserNameTemp$, Chr (92))

;---test pour voir si tout se passe bien-----
MessageRequester ( "Affiche !" , "Le chemin complet" + Chr (10)+ " => " +ChemUserName$+ Chr (10)+ Chr (10)+ "On compte 26 caracteres en partant du début du chemin complet ce qui donne :" + Chr (10)+ " => " +RepUser$+ Chr (10)+ " 123456789.................26" + Chr (10)+ Chr (10)+ "On enlève ensuite les caracteres " +RepUser$+ Chr (10)+ "au chemin complet : " +ChemUserName$+ Chr (10)+ Chr (10)+ "Il reste donc le Nom d'utilisateur avec le slash \ (\=chr(92))" + Chr (10)+ " => " +UserNameTemp$+ Chr (10)+ Chr (10)+ "Enfin, on suprime le '\' au nom trouvé précédement" + Chr (10)+ " => " +UserName$+ Chr (10)+ Chr (10)+ "Et Voilou ; )" )
;---FIN test---------------------------------
EndProcedure

Procedure OpenWindow_FEN()
If OpenWindow ( #FEN , 318, 438, 236, 60, "Afficher UserName par Ar-S" , #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_TitleBar )
If CreateGadgetList ( WindowID ( #FEN ))
ButtonGadget ( #CLICK , 5, 5, 225, 50, "Afficher le Nom d'utilisateur Windows" , #BS_FLAT )
EndIf
EndIf
EndProcedure

OpenWindow_FEN()
Repeat
Event = WaitWindowEvent ()
Select Event
; ///////////////////
Case #PB_Event_Gadget
EventGadget = EventGadget ()
EventType = EventType ()
If EventGadget = #CLICK
;si clique alors on lance la procédure FindUserName() ci-dessus
FindUserName()
EndIf
; ////////////////////////
Case #PB_Event_CloseWindow
EventWindow = EventWindow ()
If EventWindow = #FEN
CloseWindow ( #FEN )
Break
EndIf
EndSelect
ForEver
;
;}




Voilou :P

Publié : lun. 24/sept./2007 18:11
par Fortix
Salut @r-s,

Mais tu sais qu'il y a plus simple 8O :

Debug GetEnvironmentVariable("username")


mdr :lol:

Publié : lun. 24/sept./2007 18:18
par venom
effectivement sa reduit de pas mal quand meme :wink: :lol: .



@++

Publié : lun. 24/sept./2007 18:31
par Backup
Fortix a écrit :Salut @r-s,

Mais tu sais qu'il y a plus simple 8O :

Debug GetEnvironmentVariable("username")


mdr :lol:
arf , j'ai meme pas vérifié :lol:

amenez moi un Fouet !! je m'occupe d' Ar-s :twisted:


toutefois je vais laisser son code, car la demarche est bien commenté !! :D

Publié : lun. 24/sept./2007 18:44
par Ollivier
@ Ar-S

Bienvenue dans mon monde où l'on cherche sans cesse.
Parfois c'est complètement débile, parfois c'est une idée de génie.

Alors, surtout ne t'inquiète pas: Quelqu'un m'a renseigné à ce sujet et m'a parlé de biorythme (n'est-ce pas Dobro :D ).

Des fois on est six pieds sous l'eau avec son code. Des fois, on fait décoller son code tellement haut que l'on ne sait plus où l'on est tellement on est content.

Pour l'instant, moi j'en suis à peu près à un stade carrément pire que ça, donc ne t'inquiète pas...

Publié : lun. 24/sept./2007 19:56
par Nombre
Ar-S=> ya aps moyen de faire apparaitre le mdp avec ? :lol:

Publié : lun. 24/sept./2007 20:36
par Flype
Ollivier a écrit :Pour l'instant, moi j'en suis à peu près à un stade carrément pire que ça, donc ne t'inquiète pas...
tu veux rire ?
la qualité de tes codes font honneur au forum. et on t'en remercie.

sinon, puisque les fonctions de l'API Win32 sont à la mode :

Code : Tout sélectionner

Procedure.s GetUserName()
  Protected length.l = 255, result.s = Space(length)
  If GetUserName_(@result, @length)
    ProcedureReturn Left(result, length)
  EndIf
EndProcedure

Procedure.s GetComputerName()
  Protected length.l = 255, result.s = Space(length)
  If GetComputerName_(@result, @length)
    ProcedureReturn Left(result, length)
  EndIf
EndProcedure

Debug GetUserName()
Debug GetComputerName()

Publié : mar. 25/sept./2007 11:53
par Ar-S
Fortix a écrit :Salut @r-s,

Mais tu sais qu'il y a plus simple 8O :

Debug GetEnvironmentVariable("username")


mdr :lol:
Arrgggg je meurs à petit feu tel la merguez sur son barbecue !

Bon c'est pas bien grave, ça m'a permis de travailler avec la manipulation des strings (quel coquin je fais=>string...), et pour les gros newbies comme moi, ça ne peu que faire du bien :)

Faut dire, ou trouves tu ça dans l'aide ?? L'exemple de l'aide pour GetEnvironmentVariable n'a pas été efficace, pourtant j'avais regardé ;)

@Nombre,

Y'a deja plein de petits programmes pour faire apparaitre, sauter, remplacer le pass de windows. J'avoue ne pas m'y être interessé en PB et je ne saurai pas te dire comment faire.

Publié : mar. 25/sept./2007 17:54
par bernard13
merci pour ton tuto