目的)Windowsでログインしている状態か、していない状態かを見極めたいです。
開発環境)Visual Studio 2012 / C#
お世話になります。
上記の目的のため、以下の様なコード Environment.UserName でユーザー名を取得してみました。
using System;
class Sample
{
public static void Main()
{
string uName = Environment.UserName; // ユーザー名の取得
if(uName.Equals("SYSTEM"))
{
ログイン前
}
else
{
誰かでログイン中
}
}
ログイン後であれば、当然ながらログインしているユーザー名が取得できます。
ログイン前(ユーザー選択の画面)の場合に実行してみると「SYSTEM」というユーザー名が取得できました。
ここで質問なのですが、Environment.UserName を利用して、ログイン状態であるか否かを判断するのに
得られたユーザー名が SYSTEM である = ログイン前
得られたユーザー名が SYSTEM でない = ログイン後
という判断をしても問題ないでしょうか?
また、windows環境であれば、ログイン前は必ず SYSTEM というユーザー名となるのでしょうか?
それとも SYSTEM 以外のユーザー名が返されたりするのでしょう?
皆様、宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー