Nombre del ordenador

¿Sabes cómo puedo meter el nombre de mi pc a un variable con Visual Basic? He hecho un programa que borra unos archivos de todos los ordenadores de la red, y si alguno da error tiene que mandar un mail con el nombre del ordenador a una dirección, pero no se cómo capturar automáticamente el nombre del ordenador.

3 Respuestas

Respuesta
1
Puedes hacerlo mediante el uso de la API GetComputerName. Primero declaras la función así:
Public Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public Declare Function GetComputerNameW Lib "kernel32" (lpBuffer As Any, nSize As Long) As Long
Cuando quieras obtener el nombre de la máquina, hazlo así:
Dim sName as string, lSize as long
sName=Space(128)
lSize=GetComputerName(sName,128)
sName=Left(sName,lSize)
Muchas gracias, pero he encontrado la función Environ, que con Environ(4) me devuelve el nombre del pc, como tengo instalado el programa en cada máquina lo puedo usar. Gracias de todas formas
Respuesta
1
Prueba con esto:
Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long
Public Const MAX_COMPUTERNAME_LENGTH = 255
Public Function ComputerName() As String
'Devuelve el nombre del equipo actual
Dim sComputerName As String
Dim ComputerNameLength As Long
sComputerName = String(MAX_COMPUTERNAME_LENGTH + 1, 0)
ComputerNameLength = MAX_COMPUTERNAME_LENGTH
Call GetComputerName(sComputerName, ComputerNameLength)
ComputerName = Mid(sComputerName, 1, ComputerNameLength)
End Function
Muchas gracias, pero he encontrado la función Environ, que con Environ(4) me devuelve el nombre del pc, como tengo instalado el programa en cada máquina lo puedo usar. Gracias de todas formas
Respuesta
1
Lo primero hay que hacer es declarar esta función en un modulo o parte del programa.
Declare Function GetComputerName Lib "Kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
luego declaras una variable
Dim sEquipo As String * 255
Y en el evento que desees capturar el nombre pones este código
GetComputerName sEquipo, 255
Tu variable = sEquipo
SEquipo (contiene el nombre de tu ordenador)
Muchas gracias, pero he encontrado la función Environ, que con Environ(4) me devuelve el nombre del pc, como tengo instalado el programa en cada máquina lo puedo usar. Gracias de todas formas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas