Nombre de equipo

26/04/2006 - 00:29 por SergioT | Informe spam
Hola

dos preguntas para vb.net:

1. Como puedo obtener en vb.net el nombre de la computadora en la que esta
corriendo la aplicacion
2. Como obtengo una "lista" de los ervidores de SQL disponibles en el equipo
o en la red


gracias

Preguntas similare

Leer las respuestas

#1 MalKaViAN_NeT
26/04/2006 - 05:00 | Informe spam
Hola SergioT no se si essto te ayude
1.-puedes obtener el nombre de equipo con la api de windows o usando los
Sockets, si creas un Socket sólo lees la propiedad de localhost y te devuelve
el nombre,,
puedes migrar con el asistente este code de vb 6.0 a .net que obtiene la ip
y el nombre de equipo :

'CODE
[Private Declare Function inet_ntoa Lib "wsock32.dll" (ByVal addr As Long)
As Long
Private Declare Function gethostname Lib "wsock32.dll" (ByVal hostname$,
ByVal HostLen As Long) As Long
Private Declare Function gethostbyname Lib "wsock32.dll" (ByVal hostname$)
As Long
Private Declare Function WSAStartup Lib "wsock32.dll" (ByVal wVR As Long,
lpWSAD As WSADATAType) As Long
Private Declare Function WSACleanup Lib "wsock32.dll" () As Long
Private Declare Function WSAIsBlocking Lib "wsock32.dll" () As Long
Private Declare Function WSACancelBlockingCall Lib "wsock32.dll" () As Long

Public CadenaIp As String, NombreEqu As String
'la variable CadenaIp almacenará la ip, la variable NombreEqu alamacenará el
nombre del equipo

Private Type in_addr
s_addr As Long
End Type

Private Type HostEnt
h_name As Long
h_aliases As Long
h_addrtype As Integer
h_length As Integer
h_addr_list As Long
End Type

Private Const WSADescription_Len = 256
Private Const WSASYS_Status_Len = 128

Private Type WSADATAType
wversion As Integer
wHighVersion As Integer
szDescription(0 To WSADescription_Len) As Byte
szSystemStatus(0 To WSASYS_Status_Len) As Byte
iMaxSockets As Integer
iMaxUdpDg As Integer
lpszVendorInfo As Long
End Type

Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal
lpString1 As String, ByVal lpString2 As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal
lpString As Long) As Long
Private Declare Sub MemCopy Lib "kernel32" Alias "RtlMoveMemory" (Dest As
Any, ByVal Src As Long, ByVal cb&)

Public Sub LocalizaIp()
On Error Resume Next
For Each Ip In ObtenerIPLocal()
CadenaIp = Ip
Next
End Sub

Private Function ObtenerIPLocal()
On Error Resume Next

If Not (StartWinsock()) Then Exit Function

Dim hostname As String * 256, hostent_addr As Long
'esta varialbe nos devolverá el nombre de equipo
Dim Host As HostEnt, hostip_addr As Long
Dim ad As in_addr, ipl As Long, ips As String
Dim ip_address() As String, x As Integer
ReDim ip_address(0 To 4)

If gethostname(hostname, 256) = -1 Then
Exit Function
Else
hostname = Trim$(hostname)
End If

hostent_addr = gethostbyname(hostname)

If hostent_addr = 0 Then Exit Function

MemCopy Host, hostent_addr, LenB(Host)
MemCopy hostip_addr, Host.h_addr_list, Host.h_length

Do

MemCopy ad.s_addr, hostip_addr, Host.h_length
ipl = inet_ntoa(ad.s_addr)

ips = String$(lstrlen(ipl) + 1, 0)
lstrcpy ips, ipl

ip_address(x) = ips

Host.h_addr_list = Host.h_addr_list + LenB(Host.h_addr_list)
MemCopy hostip_addr, Host.h_addr_list, Host.h_length

x = x + 1
Loop While (hostip_addr <> 0)

ReDim Preserve ip_address(x - 1)

ObtenerIPLocal = ip_address()

NombreEqu = hostname

Call EndWinsock
End Function

Private Function StartWinsock() As Boolean
On Error Resume Next
Dim StartupData As WSADATAType
StartWinsock = IIf(WSAStartup(&H101, StartupData) = 0, True, False)
End Function

Private Sub EndWinsock()
On Error Resume Next
If WSAIsBlocking() Then Call WSACancelBlockingCall
Call WSACleanup
End Sub]

2.-Para obtener el nombre de los servidores te vas a la BD Master que
incluye el SQL y abre la tabla sysdatabases (tabla del sistema) y lee el
campo 'name'
'

Salu2
MaLkAvIaN_NeT
http://malkavian-net.webcindario.com/



"SergioT" wrote:

Hola

dos preguntas para vb.net:

1. Como puedo obtener en vb.net el nombre de la computadora en la que esta
corriendo la aplicacion
2. Como obtengo una "lista" de los ervidores de SQL disponibles en el equipo
o en la red


gracias



Respuesta Responder a este mensaje
#2 DosFlores
26/04/2006 - 07:19 | Informe spam
My.Computer.Name

Un saludo
Oscar Montesinos
"SergioT" escribió en el mensaje
news:u$
Hola

dos preguntas para vb.net:

1. Como puedo obtener en vb.net el nombre de la computadora en la que esta
corriendo la aplicacion
2. Como obtengo una "lista" de los ervidores de SQL disponibles en el
equipo o en la red


gracias

Respuesta Responder a este mensaje
#3 Angel. E. Ruiz. P
26/04/2006 - 14:29 | Informe spam
Amigo la forma mas indicada es con:

My.Computer.Name


Saludos cordiales,
Ángel Ruiz
MCP C#
MVP de Visual Basic desde 2004
Caracas - Venezuela
"El conocimiento es un bien, que crece a medida que se comparte"
"SergioT" escribió en el mensaje
news:u$
Hola

dos preguntas para vb.net:

1. Como puedo obtener en vb.net el nombre de la computadora en la que esta
corriendo la aplicacion
2. Como obtengo una "lista" de los ervidores de SQL disponibles en el
equipo o en la red


gracias

Respuesta Responder a este mensaje
#4 SergioT
26/04/2006 - 18:03 | Informe spam
Hola

Voy a probar tu codigo , gracias

En cuanto a los servidores SQL , como abro la base de datos master si es que
NO se como se llama el servidor, por tanto no puedo crear la conexion a la
BD. Me podes aclarar un poco este tema?


gracias por la ayuda

"MalKaViAN_NeT" escribió en el
mensaje news:
Hola SergioT no se si essto te ayude
1.-puedes obtener el nombre de equipo con la api de windows o usando los
Sockets, si creas un Socket sólo lees la propiedad de localhost y te
devuelve
el nombre,,
puedes migrar con el asistente este code de vb 6.0 a .net que obtiene la
ip
y el nombre de equipo :

'CODE
[Private Declare Function inet_ntoa Lib "wsock32.dll" (ByVal addr As Long)
As Long
Private Declare Function gethostname Lib "wsock32.dll" (ByVal hostname$,
ByVal HostLen As Long) As Long
Private Declare Function gethostbyname Lib "wsock32.dll" (ByVal hostname$)
As Long
Private Declare Function WSAStartup Lib "wsock32.dll" (ByVal wVR As Long,
lpWSAD As WSADATAType) As Long
Private Declare Function WSACleanup Lib "wsock32.dll" () As Long
Private Declare Function WSAIsBlocking Lib "wsock32.dll" () As Long
Private Declare Function WSACancelBlockingCall Lib "wsock32.dll" () As
Long

Public CadenaIp As String, NombreEqu As String
'la variable CadenaIp almacenará la ip, la variable NombreEqu alamacenará
el
nombre del equipo

Private Type in_addr
s_addr As Long
End Type

Private Type HostEnt
h_name As Long
h_aliases As Long
h_addrtype As Integer
h_length As Integer
h_addr_list As Long
End Type

Private Const WSADescription_Len = 256
Private Const WSASYS_Status_Len = 128

Private Type WSADATAType
wversion As Integer
wHighVersion As Integer
szDescription(0 To WSADescription_Len) As Byte
szSystemStatus(0 To WSASYS_Status_Len) As Byte
iMaxSockets As Integer
iMaxUdpDg As Integer
lpszVendorInfo As Long
End Type

Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal
lpString1 As String, ByVal lpString2 As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal
lpString As Long) As Long
Private Declare Sub MemCopy Lib "kernel32" Alias "RtlMoveMemory" (Dest As
Any, ByVal Src As Long, ByVal cb&)

Public Sub LocalizaIp()
On Error Resume Next
For Each Ip In ObtenerIPLocal()
CadenaIp = Ip
Next
End Sub

Private Function ObtenerIPLocal()
On Error Resume Next

If Not (StartWinsock()) Then Exit Function

Dim hostname As String * 256, hostent_addr As Long
'esta varialbe nos devolverá el nombre de equipo
Dim Host As HostEnt, hostip_addr As Long
Dim ad As in_addr, ipl As Long, ips As String
Dim ip_address() As String, x As Integer
ReDim ip_address(0 To 4)

If gethostname(hostname, 256) = -1 Then
Exit Function
Else
hostname = Trim$(hostname)
End If

hostent_addr = gethostbyname(hostname)

If hostent_addr = 0 Then Exit Function

MemCopy Host, hostent_addr, LenB(Host)
MemCopy hostip_addr, Host.h_addr_list, Host.h_length

Do

MemCopy ad.s_addr, hostip_addr, Host.h_length
ipl = inet_ntoa(ad.s_addr)

ips = String$(lstrlen(ipl) + 1, 0)
lstrcpy ips, ipl

ip_address(x) = ips

Host.h_addr_list = Host.h_addr_list + LenB(Host.h_addr_list)
MemCopy hostip_addr, Host.h_addr_list, Host.h_length

x = x + 1
Loop While (hostip_addr <> 0)

ReDim Preserve ip_address(x - 1)

ObtenerIPLocal = ip_address()

NombreEqu = hostname

Call EndWinsock
End Function

Private Function StartWinsock() As Boolean
On Error Resume Next
Dim StartupData As WSADATAType
StartWinsock = IIf(WSAStartup(&H101, StartupData) = 0, True, False)
End Function

Private Sub EndWinsock()
On Error Resume Next
If WSAIsBlocking() Then Call WSACancelBlockingCall
Call WSACleanup
End Sub]

2.-Para obtener el nombre de los servidores te vas a la BD Master que
incluye el SQL y abre la tabla sysdatabases (tabla del sistema) y lee el
campo 'name'
'

Salu2
MaLkAvIaN_NeT
http://malkavian-net.webcindario.com/



"SergioT" wrote:

Hola

dos preguntas para vb.net:

1. Como puedo obtener en vb.net el nombre de la computadora en la que
esta
corriendo la aplicacion
2. Como obtengo una "lista" de los ervidores de SQL disponibles en el
equipo
o en la red


gracias



Respuesta Responder a este mensaje
#5 SergioT
26/04/2006 - 18:13 | Informe spam
Hola

pero en que libreria esta eso de My.Computer.Name??' por que asi solito no
funciona no existe "My" por tanto no se ven los metodos

Gracias
"Angel. E. Ruiz. P" escribió en el mensaje
news:
Amigo la forma mas indicada es con:

My.Computer.Name


Saludos cordiales,
Ángel Ruiz
MCP C#
MVP de Visual Basic desde 2004
Caracas - Venezuela
"El conocimiento es un bien, que crece a medida que se comparte"
"SergioT" escribió en el mensaje
news:u$
Hola

dos preguntas para vb.net:

1. Como puedo obtener en vb.net el nombre de la computadora en la que
esta corriendo la aplicacion
2. Como obtengo una "lista" de los ervidores de SQL disponibles en el
equipo o en la red


gracias





Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida