char buf[1000];
 String s;
 if(GetUserName(buf,1000))
 {
   s=buf;
   //成功! 现在s里面就是用户名了
 }
 else
 {
   //失败
 }

解决方案 »

  1.   

    buf是一个字符缓冲区,
    s是缓冲区的大小,
    如果缓冲不够大,函数就失败。
    上面例子里的s用来把用户名数据移到大家都熟悉的String了,不过不是必要的。
      

  2.   

    Sorry, 刚刚凭感觉写的,有点问题,GetUserName的第二个参数必须是一个unsigned long指针,修改如下(我把它放在按钮响应事件里了,成功就把按钮的Caption改成用户名 ;)void __fastcall TForm1::Button1Click(TObject *Sender)
    {
     char buf[1000];
     DWORD n=1000;
     String s;
     if(GetUserName(buf,&n))
     {
       s=buf;
       Button1->Caption=s;
     }
     else
     {
       //失败
     }}