zoukankan      html  css  js  c++  java
  • VC 获取Windows所有用户的用户名

    #include <LMACCESS.H>
    #include <LMERR.H>
    #include <LMAPIBUF.H>

    #include <iostream>

    #include <vector>

    using namespace std;

    vector<CString> m_account;

    GetOSUserName()
    {
       LPUSER_INFO_1 pBuf = NULL; 
       LPUSER_INFO_1 pTmpBuf ; 
       DWORD dwLevel   =  1; 
       DWORD dwPrefMaxLen  = -1; 
       DWORD dwEntriesRead  =  0; 
       DWORD dwTotalEntries =  0; 
       DWORD dwResumeHandle =  0; 
       NET_API_STATUS nStatus; 
       LPTSTR pszServerName = NULL; 
       nStatus = NetUserEnum( (LPCWSTR) pszServerName , dwLevel , FILTER_NORMAL_ACCOUNT ,
        (LPBYTE*)&pBuf, dwPrefMaxLen , &dwEntriesRead , &dwTotalEntries , &dwResumeHandle );  
       if( ( nStatus == NERR_Success ) || ( nStatus == ERROR_MORE_DATA ) ) 
       { 
          if( ( pTmpBuf=pBuf )!=NULL ) 
          { 
             for( DWORD i = 0; i < dwEntriesRead ; ++i ) 
             { 
                CString csFlag;
                csFlag.Format( _T( "%s,%ld" ) , pTmpBuf->usri1_name , pBuf->usri1_priv );
                if( pTmpBuf->usri1_priv == USER_PRIV_ADMIN  ||  pTmpBuf->usri1_priv == USER_PRIV_USER  &&
                   ( CString ( pTmpBuf->usri1_name ) != "ASPNET" ) )
                {
                   m_account.push_back( (CString) pTmpBuf->usri1_name );     
                }
                pTmpBuf++; 
             } 
          } 
      
       } 
       else 
       { 
          ::MessageBox( NULL , _T("A system error has occurred") , _T("ERROR") , MB_OK );
       }  
       if( pBuf != NULL ) 
       { 
          NetApiBufferFree( pBuf ); 
          pBuf = NULL; 
       }  
       while ( nStatus == ERROR_MORE_DATA ); 
       if (pBuf != NULL) 
         NetApiBufferFree( pBuf );  
    }

  • 相关阅读:
    命令窗口
    文件压缩,文件夹压缩
    objectarx之工具
    Quick Search Articles in My Blog
    Draw graph(network) with nx_pydot in networkx
    How to Share Wired Internet Via Wi-Fi and Vice Versa on Linux
    Deluge: Enables BT download on your Raspberry Pi
    你还在想用 nextCloud 自建NAS? 何不试试P2P Sync?
    screen 命令使用 keep session running after ssh logout
    Zotero: add a history feature for paper viewing
  • 原文地址:https://www.cnblogs.com/pbreak/p/1806279.html
Copyright © 2011-2022 走看看