SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: albertoluquin en Lunes 13 de Marzo de 2006, 18:24

Título: Nombre De Usuario En Windows Xp
Publicado por: albertoluquin en Lunes 13 de Marzo de 2006, 18:24
Hola a todos. Tengo un problema con la llamada a la funcion de la API
GetUserName(). El problema es que necesito que me tome estos datos cuando se
crea la aplicación y y esta funcion no me regresa los datos cuando lo pongo
en el evento FormCreate. El codigo que utilizo es el siguiente:

void __fastcall TForm1::FormCreate(TObject *Sender)
{
DWORD size;
char User[255];
if(GetUserName(User, &size)==1)
{
Label4->Caption = User;
}
}

Pero lo raro es que cuando lo pongo en el evento onclick de un boton si
funciona! Alguien sabe porque sucede esto o como puedo resolverlo?

De antemano Muchas gracias!
Título: Re: Nombre De Usuario En Windows Xp
Publicado por: leowa en Martes 14 de Marzo de 2006, 00:31
Hola!
He probado el siguiente codigo en el FormCreate y me ha funcionado (Win XP y C++Builder 6), espero que a ti tambien.
Código: Text
  1. char user[30];
  2. unsigned long tamano;
  3. GetUserName(user,&tamano);
  4. Label5->Caption=user;
  5.  
  6.  
Saludos.
Título: Re: Nombre De Usuario En Windows Xp
Publicado por: albertoluquin en Sábado 18 de Marzo de 2006, 19:17
Hola Leowa, grasias por el tip pero ya solucione el problema de otra forma ya que no habia leido bien en la ayuda y segun dice que si el tamaño del arreglo no es igual alde la variable la funcion falla es por ello que solo tuve que:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
char User[255];
DWORD size=sizeof(User);

if(GetUserName(User, &size)==1)
{
Label4->Caption = User;
}
}

Grasias a Mario Rodriguez por la ayuda. Y grasias a ti leowa por la molestia.
Saludos!!!