スポンサーリンク
ホーム»Qt逆引きマニュアル»Windows関連» Windows:ローカルPCの全てのユーザ名を取得
a

Windows:ローカルPCの全てのユーザ名を取得

環境:QT5.5

インクルードファイル

1
#include <lm.h>

ライブラリ(.proに追加)

1
LIBS    += -lNetapi32

コード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    // ローカルの全ユーザを取得する
    NET_API_STATUS sts;
    LPUSER_INFO_0 pUsrInfo = NULL;
    DWORD dwEntryCnt=0;
    DWORD dwtotalCnt=0;
    DWORD dwResumeHandle=0;
    sts = NetUserEnum(NULL,
                      0,
                      FILTER_NORMAL_ACCOUNT,
                      (LPBYTE *)&pUsrInfo,
                      MAX_PREFERRED_LENGTH,
                      &dwEntryCnt,
                      &dwtotalCnt,
                      &dwResumeHandle);
    if ( NERR_Success != sts) {
        qCritical().noquote() << "エラー";
        return false;
    }
 
  // 取得したユーザの名前を出力
    if ( NULL != pUsrInfo ) {
        for (DWORD i=0; i< dwEntryCnt; i++) {
            qInfo().noquote() << QString::fromWCharArray(pUsrInfo[i].usri0_name):
         }
    }

コメント

タイトルとURLをコピーしました