• GetOSUserName() 获取系统用户名函数


     1 #pragma comment(lib,"Netapi32.lib")
     2 #include <BaseTsd.h>
     3 #include <Lm.h>
     4 #include <LMERR.H> 
     5 #include <LMAPIBUF.H> 
     6 #include <vector> 
     7 
     8 vector<CString> m_account; 
     9 
    10 
    11 void GetOSUserName() 
    12 
    13 { 
    14 
    15     LPUSER_INFO_1 pBuf = NULL; 
    16 
    17     LPUSER_INFO_1 pTmpBuf ; 
    18 
    19     DWORD dwLevel = 1; 
    20 
    21     DWORD dwPrefMaxLen = -1; 
    22 
    23     DWORD dwEntriesRead = 0; 
    24 
    25     DWORD dwTotalEntries = 0; 
    26 
    27     DWORD dwResumeHandle = 0; 
    28 
    29     NET_API_STATUS nStatus; 
    30 
    31     LPTSTR pszServerName = NULL; 
    32 
    33     nStatus = NetUserEnum( (LPCWSTR) pszServerName , dwLevel , FILTER_NORMAL_ACCOUNT , 
    34 
    35         (LPBYTE*)&pBuf, dwPrefMaxLen , &dwEntriesRead , &dwTotalEntries , &dwResumeHandle ); 
    36 
    37     if( ( nStatus == NERR_Success ) || ( nStatus == ERROR_MORE_DATA ) ) 
    38     { 
    39         if( ( pTmpBuf=pBuf )!=NULL ) 
    40         { 
    41             for( DWORD i = 0; i < dwEntriesRead ; ++i ) 
    42 
    43             { 
    44                 CString csFlag; 
    45 
    46                 csFlag.Format( _T( "%s,%ld" ) , pTmpBuf->usri1_name , pBuf->usri1_priv ); 
    47 //得到用户名 判断权限 和名称排除
    48                 if( pTmpBuf->usri1_priv == USER_PRIV_ADMIN || pTmpBuf->usri1_priv == USER_PRIV_USER && 
       ( CString ( pTmpBuf->usri1_name ) != "ASPNET" ) ) 49 { 50 m_account.push_back( (CString) pTmpBuf->usri1_name ); 51 } 52 53 pTmpBuf++; 54 } 55 } 56 } 57 else 58 { 59 ::MessageBox( NULL , _T("A system error has occurred") , _T("ERROR") , MB_OK ); 60 } 61 if( pBuf != NULL ) 62 63 { 64 //NetApiBufferFree( pBuf ); 65 pBuf = NULL; 66 } 67 while ( nStatus == ERROR_MORE_DATA ); 68 if (pBuf != NULL) 69 NetApiBufferFree( pBuf ); 70 }
  • 相关阅读:
    JavaScript——封装
    Vue.js——component(组件)
    MySQL数据库——安装教程(5.7版本)
    Vue.js——循环(Java、JSTL标签库、数据库)
    Vue.js——理解与创建使用
    JavaScript——闭包
    自定义最小索引优先队列
    自定义最大索引优先队列
    自定义最小优先队列
    自定义最大优先队列
  • 原文地址:https://www.cnblogs.com/FCoding/p/2580139.html
Copyright © 2020-2023  润新知