horko
Messages postés53Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention19 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
horko
Messages postés53Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention19 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.
cs_pimousse75
Messages postés138Date d'inscriptionjeudi 17 janvier 2002StatutMembreDernière intervention22 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
horko
Messages postés53Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention19 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
cs_pimousse75
Messages postés138Date d'inscriptionjeudi 17 janvier 2002StatutMembreDernière intervention22 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
cs_pimousse75
Messages postés138Date d'inscriptionjeudi 17 janvier 2002StatutMembreDernière intervention22 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
horko
Messages postés53Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention19 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.
horko
Messages postés53Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention19 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