我做的一个对话框是关于显示当前计算机名的程序。我是这样写的
DWORD nSize=MAX_COMPUTERNAME_LENGTH+1;//获得计算机名字的长度
char name[MAX_COMPUTERNAME_LENGTH+1];
memset(name,0,sizeof(name));//获取计算机名
m_CurName = name ;
UpdateData(FALSE);
但是执行后却不显示。请大家帮帮忙看看我哪里写错了。是不是要用到GetComputerName()这个函数,这个函数怎么用啊?
我先 谢谢大家

解决方案 »

  1.   

    获取
    DWORD nsize=MAX_COMPUTERNAME_LENGTH+1;
    char name[MAX_COMPUTERNAME_LENGTH+1];
    GetComputerName(name,&nsize);
      

  2.   

    获得主机名和ip地址的例子 char szhostname[128];
        CString str;
    //获得主机名
    if( gethostname(szhostname, 128) == 0 )
    {
    // 获得主机ip地址
    struct hostent * phost;
    int i;
    phost = gethostbyname(szhostname);
            m_hostname=szhostname;
    i=0;
    int j;
    int h_length=4;
    for( j = 0; j<h_length; j++ )
    {
    CString addr;

    if( j > 0 )
    str += ".";

    addr.Format("%u", (unsigned int)((unsigned
    char*)phost->h_addr_list[i])[j]);
    str += addr;
    }
      
    }
        m_ipaddress=str;
       UpdateData(FALSE);
      

  3.   

    DWORD nSize=MAX_COMPUTERNAME_LENGTH+1;//获得计算机名字的长度
    char name[MAX_COMPUTERNAME_LENGTH+1];
    memset(name,0,sizeof(name)); // 这是数组清零
    GetComputerName(name, &nSize); // 获取计算机名
    m_CurName = name ;
    UpdateData(FALSE);
      

  4.   

    修改
    SetComputerName(CString m_newname);
      

  5.   

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getting_system_information.asp