ユーザ名の列挙


ゆみこ  2009-05-01 01:06:02  No: 34232

ご質問させて戴きます。
ユーザアカウントを列挙したいのですが、どうすればよろしいでしょうか?
現在のログインユーザは、簡単に参照できるのですが、良い方法があれば、
ご教授お願いします。


DEKO  2009-05-01 07:14:47  No: 34233

Win32API の NetUserEnum() を使います。
具体的なサンプルコードは以下にあります。

[Torrys's Delphi]
http://www.swissdelphicenter.ch/torry/showcode.php?id=428


ofZ  2009-05-01 19:08:19  No: 34234

ここまで必要ないとは思いますが、Project JEDI のページに、
関連定義のライブラリもあります。

LanManager.zip
http://www.delphi-jedi.org/apilibrary.html
(Mozilla Public License Version 1.1)

ちなみに、取得するユーザーアカウントの内容にもよりますが、
アカウント名だけよければ、DEKOさん紹介のサンプルを以下のように
変更することで、アカウント名のみ取得できるはずです。

  USER_INFO_0  = record
    usri0_name: LPWSTR;
  end;
var
  UserInfo: lpUSER_INFO_0;
begin
  //略
  //NetUserEnumの第二引数が「0」になります
  NetApiStatus := NetUserEnum(nil, 0, 0, lpBuffer, 0, EntiesRead,
      TotalEntries, ResumeHandle);
  //略


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加