コントロールパネル->ユーザアカウントから"ユーザ名の変更"でユーザ名を変更した後に
自作のプログラム側でGetUserName()を使用してユーザ名を取得しました。
取得したユーザ名は古いユーザ名で新しいのは取得できませんでした。
hoge0(旧) -> hoge1(新)
PCを再起動しても"hoge0"を取得してしまします。
新しいユーザ名を正確に取得する方法をご存知の方がいましたら教えていただけないでしょうか?
また、このような動きをする原因も教えていただければ幸いです。
発生したOSはWindows7 64bit環境になります。
ユーザ名変更後にGetUserName()で新しいユーザ名が取得できない
Re: ユーザ名変更後にGetUserName()で新しいユーザ名が取得できない
ユーザー名の変更で変更できるのは,[コンピューターの管理] - [ローカルユーザーとグループ] - [ユーザー]における「フルネーム」だけであって「名前」ではありません。
GetUserNameは「名前」を取得します。
詳しいアカウント情報は,NetUserGetInfo使えば得られます。
フルネームを得たいだけなら,GetUserNameExにEXTENDED_NAME_FORMAT::NameDisplay渡せばよいでしょう。
GetUserNameは「名前」を取得します。
詳しいアカウント情報は,NetUserGetInfo使えば得られます。
フルネームを得たいだけなら,GetUserNameExにEXTENDED_NAME_FORMAT::NameDisplay渡せばよいでしょう。
-
ミナヅキ
Re: ユーザ名変更後にGetUserName()で新しいユーザ名が取得できない
ありがとうございます。 教えていただいたとおりに試してみたら成功しました。
ユーザネームとフルユーザネームの2種類があることはしりませんでした(><) ほんとうに助かりました。。
ユーザネームとフルユーザネームの2種類があることはしりませんでした(><) ほんとうに助かりました。。