C# Windows サービスを開発しています。
現在ログオンしているユーザーを (サービスから) 知る必要があります。
私はこのコードでここで答えをたどろうとしました:
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT UserName FROM Win32_ComputerSystem");
ManagementObjectCollection collection = searcher.Get();
string username = (string)collection.Cast<ManagementBaseObject>().First()["UserName"];
しかし問題は、Windows 7 でしか機能しないことですが、Windows 8 では空の文字列が返されます。
WMI は Windows 8 で変更されましたか?