ユーザ名変更後にGetUserName()で新しいユーザ名が取得できない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ミナヅキ

ユーザ名変更後にGetUserName()で新しいユーザ名が取得できない

#1

投稿記事 by ミナヅキ » 13年前

コントロールパネル->ユーザアカウントから"ユーザ名の変更"でユーザ名を変更した後に
自作のプログラム側でGetUserName()を使用してユーザ名を取得しました。
取得したユーザ名は古いユーザ名で新しいのは取得できませんでした。

hoge0(旧) -> hoge1(新)
PCを再起動しても"hoge0"を取得してしまします。

新しいユーザ名を正確に取得する方法をご存知の方がいましたら教えていただけないでしょうか?
また、このような動きをする原因も教えていただければ幸いです。

発生したOSはWindows7 64bit環境になります。

YuO
記事: 947
登録日時: 15年前
住所: 東京都世田谷区

Re: ユーザ名変更後にGetUserName()で新しいユーザ名が取得できない

#2

投稿記事 by YuO » 13年前

ユーザー名の変更で変更できるのは,[コンピューターの管理] - [ローカルユーザーとグループ] - [ユーザー]における「フルネーム」だけであって「名前」ではありません。
GetUserNameは「名前」を取得します。

詳しいアカウント情報は,NetUserGetInfo使えば得られます。
フルネームを得たいだけなら,GetUserNameExEXTENDED_NAME_FORMAT::NameDisplay渡せばよいでしょう。

ミナヅキ

Re: ユーザ名変更後にGetUserName()で新しいユーザ名が取得できない

#3

投稿記事 by ミナヅキ » 13年前

ありがとうございます。 教えていただいたとおりに試してみたら成功しました。
ユーザネームとフルユーザネームの2種類があることはしりませんでした(><) ほんとうに助かりました。。

閉鎖

“C言語何でも質問掲示板” へ戻る