Ver Mensaje Individual
  #3  
Antiguo 23-05-2013
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.083
Reputación: 18
juanelo Va por buen camino
Te dejo el codigo en C++ como lo tengo implementado.

Código Delphi [-]
DWORD IDSes=0;
// Se debe de incluir Wtsapi32.h 
//Wtsapi32.dll

  LPTSTR pData = NULL;
  DWORD cbReturned = 0;
  char Cliente[150],IP[20];
  AnsiString Nombre=""; 
    ProcessIdToSessionId(GetCurrentProcessId(),&IDSes);
    if( WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, IDSes, WTSClientName , &pData, &cbReturned) )//Obtenemos el nombre de pc
    {
      memset(Cliente,'\x0',150);
      strcpy(Cliente,pData);     
    }
   if(WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, IDSes, WTSSessionAdressV4 , &pData, &cbReturned) )//Obtenemos la IP de la sesion
    {
      memset(IP,'\x0',20);
      strcpy(IP,pData);      
    }
    WTSFreeMemory(pData);

Te comento depenendiendo de la version de Wtsapi32.dll que tengas y de la version de compilador, las opciones de "llamado" a esta funcion puede variar.
Te dejo esta liga para que puedas checar toda la informacion. Espero te sirva.

NOTA IMPORTANTE: El valor de WTSSessionAdressV4 solo es soportado a partir de Win7 y de Win 2008 server R2
__________________
Ya tengo Firma!
Responder Con Cita