如何列举windows系统下,创建了哪些用户,
如Administrator, All user, xxx  等

解决方案 »

  1.   


    void   CSDMADlg::GetUsersFromSystemToComboBox(CComboBox   *pCBUsername)   
      {   
      LPUSER_INFO_0   pBuf   =   NULL;   
      LPUSER_INFO_0   pTmpBuf;   
      DWORD   dwLevel   =   0;   
      DWORD   dwPrefMaxLen   =   -1;   
      DWORD   dwEntriesRead   =   0;   
      DWORD   dwTotalEntries   =   0;   
      DWORD   dwResumeHandle   =   0;   
      NET_API_STATUS   nStatus;   
      LPTSTR   pszServerName   =   NULL;//(LPTSTR)GetComputername().GetBuffer(MAX_NAME);   
        
      nStatus   =   NetUserEnum((LPCWSTR)pszServerName,   
      dwLevel,   
      FILTER_NORMAL_ACCOUNT,   //   global   users   
      (LPBYTE*)&pBuf,   
      dwPrefMaxLen,   
      &dwEntriesRead,   
      &dwTotalEntries,   
      &dwResumeHandle);   
        
      pCBUsername->Clear();   
        
      if((nStatus   ==   NERR_Success)   ||   (nStatus   ==   ERROR_MORE_DATA))   
      {   
      if((pTmpBuf=pBuf)!=NULL)   
      {   
      for(DWORD   i=0;i<dwEntriesRead;++i)   
      {   
      pCBUsername->AddString(CString(pTmpBuf->usri0_name));   
      pTmpBuf++;   
      }   
      }   
      }   
      else   
      {   
      ::MessageBox(NULL,"A   system   error   has   occurred","ERROR",MB_OK);   
      }   
        
      if(pBuf!=NULL)   
      {   
      NetApiBufferFree(pBuf);   
      pBuf   =   NULL;   
      }   
        
      while   (nStatus   ==   ERROR_MORE_DATA);   
        
      if   (pBuf   !=   NULL)   
      NetApiBufferFree(pBuf);   
      }
    上面的代码是在下面的网址上找到的。你可以参考一下。
    http://topic.csdn.net/t/20040621/14/3110020.html