• Sábado 14 de Diciembre de 2024, 17:29

Autor Tema:  Nombre De Usuario En Windows Xp  (Leído 1277 veces)

albertoluquin

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Nombre De Usuario En Windows Xp
« en: Lunes 13 de Marzo de 2006, 18:24 »
0
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!

leowa

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Nombre De Usuario En Windows Xp
« Respuesta #1 en: Martes 14 de Marzo de 2006, 00:31 »
0
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.

albertoluquin

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Nombre De Usuario En Windows Xp
« Respuesta #2 en: Sábado 18 de Marzo de 2006, 19:17 »
0
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!!!