Stimulation Reponse NT

cs_pimousse75 Messages postés 138 Date d'inscription jeudi 17 janvier 2002 Statut Membre Dernière intervention 22 octobre 2002 - 21 janv. 2002 à 09:01
horko Messages postés 53 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 19 juillet 2005 - 21 janv. 2002 à 11:40
Bonjour,

je cherche à recuperer le login de connexion d'un user sous windows ? Est ce possible en VB ? Si oui, comment ?

13 réponses

horko Messages postés 53 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 19 juillet 2005
21 janv. 2002 à 10:07
oui, c carrement possible, voici comment :
tu rajoute un composant :
Microsoft Winsock Control
Tu le mets ds ton formulaire, ensuite tu creer un label et tu ecris :
Label1.Caption = Winsock1.LocalHostName
et voila le travail

A+
Dje
0
cs_pimousse75 Messages postés 138 Date d'inscription jeudi 17 janvier 2002 Statut Membre Dernière intervention 22 octobre 2002
21 janv. 2002 à 10:16
J'ai mis cela mais cela ne marche pas ! g bien rajoute mon ocx !!!!

ATTENTION JE dEbUtE EN VB

Private Sub Command2_Click()
Dim winsock1 As Winsock

MsgBox winsock1.LocalHostName
End Sub
0
horko Messages postés 53 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 19 juillet 2005
21 janv. 2002 à 10:27
Bon OK, j vais tout t expliquer en details.
Ne declare pas ton Winsock

1ere etape :
Tu rajoutes dans les commandes
Microsoft Winsock Controls

Normalement, t as une petite icone qui s ajoute aux autres ( 2 ptits ordinateurs reliés par un cable rouge )

2eme etape :
Tu clic sur l icone et tu place l objet sur ton formulaire, tu viens de creer Winsock1 normalement, verifie le nom si tu n est pas sure

3eme etape :
tu creer un label de la meme facon que tu as créé le Winsock ( tu clic sur l icone label et tu place ton objet dans ton formulaire ). Normalement ton label doit s appeler Label1 ou Label2 enfin bref, Label avec un chiffre derriere, tu peux le renommer si tu veux.

4eme etape :
dans ton code, dans form_load ou sur un evenement, clic de bouton ou autre, tu ajoute la ligne que voici :
Label1.Caption = Winsock1.LocalHostName

voila, c est fini. Tu peux lancer ton appli, tu verra ton login apparaitre a la place du Label.

A+
Dje
0
cs_pimousse75 Messages postés 138 Date d'inscription jeudi 17 janvier 2002 Statut Membre Dernière intervention 22 octobre 2002
21 janv. 2002 à 10:40
Oui CA MARCHE !!!!!! Mais je veux mon login et pas le nom de ma macchine !!!

ex: Dupont !
C une propriete qui existe ??

MERCI POUR TOUT
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
horko Messages postés 53 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 19 juillet 2005
21 janv. 2002 à 10:46
Je t avouerais que je suis moi meme debutant en VB, ca fait a peine 2 semaines que je suis dessus donc je suis pas encore au courant de tout.

Je pensais que Le LocalHostName te donnais ton Login, desole si ce n est pas le cas.
N hesite pas a demander autre chose si tu es ds le besoin

A+
Dje
0
cs_pimousse75 Messages postés 138 Date d'inscription jeudi 17 janvier 2002 Statut Membre Dernière intervention 22 octobre 2002
21 janv. 2002 à 10:49
G trouve cela mais cela ne compile pas avec la declaration de la fonction !!!

Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" ( _
ByVal lpBuffer As String, _
nSize As Long) As Long

Dim sBuffer As String
Dim lSize As Long

' Allocation de la taille du buffer de réception
sBuffer = Space$(255)
lSize = Len(sBuffer)
' La DLL retourne l'utilisateur connecté sur cette machine
Call GetUserName(sBuffer, lSize)
' Recré la chaine de caractère pour que cela soit plus lisible
If lSize > 0 Then
txtUserName.Text = Left$(sBuffer, lSize)
Else
txtUserName.Text = vbNullString
End If
0
horko Messages postés 53 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 19 juillet 2005
21 janv. 2002 à 11:01
Ton truc il marche genial. J l ai mis ds mon code et c est terrible.

Si ca marche pas, change ds ta conditionnelle les 2 morceaux de code avec le machin .text et a la place tu mets
Form.Label1.Caption
Sinon, la fonction GetUserName, c est une fonction ecrite en C, il faut donc que tu la mette en dehors d une fonction ou d une procedure. Tu peux par exemple la mettre ds un module declaration.
Autrement, le reste du code tu peux le mettre ds ton Form_load

A ton service
Dje
0
cs_pimousse75 Messages postés 138 Date d'inscription jeudi 17 janvier 2002 Statut Membre Dernière intervention 22 octobre 2002
21 janv. 2002 à 11:22
-------------------------------
Réponse au message :
-------------------------------

Ton truc il marche genial. J l ai mis ds mon code et c est terrible.

Si ca marche pas, change ds ta conditionnelle les 2 morceaux de code avec le machin .text et a la place tu mets
Form.Label1.Caption
Sinon, la fonction GetUserName, c est une fonction ecrite en C, il faut donc que tu la mette en dehors d une fonction ou d une procedure. Tu peux par exemple la mettre ds un module declaration.
Autrement, le reste du code tu peux le mettre ds ton Form_load

A ton service
Dje
0
cs_pimousse75 Messages postés 138 Date d'inscription jeudi 17 janvier 2002 Statut Membre Dernière intervention 22 octobre 2002
21 janv. 2002 à 11:23
Ca veux pas se declarer ds mon module !!!

Option Explicit

Declare Function GetUserName Lib "advapi32" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As POINTAPI, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal x1 As Long, ByVal y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal x1 As Long, ByVal y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal x1 As Long, ByVal y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Const RGN_COPY = 5
Private Const CreatedBy = "VBSFC 5"
Private Const RegisteredTo = "Not Registered"
Private ResultRegion As Long
' X As Long
' Y As Long
Private Const RGN_AND = 1
Private Const RGN_DIFF = 4
Private Const RGN_OR = 2
Private Const RGN_XOR = 3
Private util, passwd As String
0
cs_pimousse75 Messages postés 138 Date d'inscription jeudi 17 janvier 2002 Statut Membre Dernière intervention 22 octobre 2002
21 janv. 2002 à 11:30
bon ca compile et tout et tout mais cela me retourne 1 ?????
0
horko Messages postés 53 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 19 juillet 2005
21 janv. 2002 à 11:32
c est normal que ca veuille pas se declarer, t as option explicit en haut.
Dans ce cas, devant ta declaration de fonction, tu mets "public" et ca marchera parfaitement.

A+
Dje
0
horko Messages postés 53 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 19 juillet 2005
21 janv. 2002 à 11:35
ne fait pas ce que je viens de dire, c est une grosse connerie.
Chez moi ca marche parfaitement donc je comprends pas
0
horko Messages postés 53 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 19 juillet 2005
21 janv. 2002 à 11:40
dis donc, j crois que j ai trouve le probleme, t as fonction C elle est dans une dll or la, je vois pas la dll, d ailleurs tu les a oublie partout donc c est pas "advapi32" mais "advapi32.dll".
Un conseil, fait la meme chose ds toutes les fonctions qui reste, ta oublie toutes les extensions.

Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

A+
Dje
0
Rejoignez-nous