Capturar nombre del computador y usuario en power builder

Quisiera saber si es posible capturar el nombre de la PC y del usuario.

2 respuestas

Respuesta
2

string ls_ruta,ls_ip

LS_RUTA="HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters"
RegistryGet(LS_RUTA,"hOSTNAME",ls_ip)
messagebox(pc,LS_IP)

Respuesta
1

Sí, es posible.

Se hace con llamadas a las funciones API de Windows. Para declarar estas llamadas debes ir a Declare External Functions (bien en la ventana si únicamente las vas a llamar desde aquí, o en el objeto application si es necesario llamadas desde toda la aplicación). Aquí hay que declarar las 2 funciones:

FUNCTION long GetComputerNameW (ref string ComputerName, ref ulong BufferLength) LIBRARY "KERNEL32.DLL"
FUNCTION long GetUserNameW (ref string UserName, ref ulong BufferLength) LIBRARY "ADVAPI32.DLL"

Ahora ya podemos llamar a estas 2 funciones desde nuestro código de PowerBuilder, como si llamáramos a cualquier otra función de PB. 

long l_Retorno
string s_NombrePC, s_Usuario
ulong BufferLength = 250  
s_NombrePC= Space(BufferLength)
s_Usuario = Space(BufferLength)
l_Retorno = GetComputerNameA(s_NombrePC, BufferLength)
l_Retorno = GetUserNameA(s_Usuario, BufferLength)

Si usas PB anterior al 9 y este código no te funciona, prueba con GetComputerNameA y GetUserNameA.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas