2016-07-23 15 views
-2

システムレベルのWindowsサービスを作成しました。そこから、現在のログオンユーザーの名前を取得します。私は "GetUserName()" APIを試しましたが、サービスはシステムレベルなので常に "SYSTEM"を返します。 このWindowsサービスから現在のログオンユーザーの名前を取得するにはどうすればよいですか?その他のWindows API?
プログラムはC++で書かれています。
更新日:
C#関連Q/Aがあります。 C++ Windows APIでどのように実装されているかわかりません。システムレベルのWindowsサービスから現在ログオンしているユーザーの名前を取得するにはどうすればよいですか?

+1

?同じWindows APIがターミナルサーバー上で動作することを覚えておいてください。 –

+0

複数のユーザーが同じユーザーでログインしている可能性があります(簡易ユーザー切り替えまたはユーザーがRDP経由で接続するサーバーを検討してください)。このような場合、1人のユーザーのみを返すだけでは不十分な場合があります。 –

+0

@AndrewMedico私はあなたが意味することを理解しています。しかし、私はそれが可能なように見えるC#これを行う。 「現在ログインしているユーザー」については、それは本当に混乱しています。私はC#のコードに慣れていません。このQ/Aをご覧ください:[http://stackoverflow.com/questions/5218778/how-do-i-get-the-currently-logged-username-from-a-windows-service-in-net](http ://stackoverflow.com/questions/5218778/how-do-i-get-the-currently-logged-username-from-a-windows-service-in-net) – Finix

答えて

-2

getenv( "username")を使用してみましたか?

それは私のために働いています:あなたはの意味だと思います「」現在は、ログオンしたユーザーは何

#include <iostream> 
#include <windows.h> 

    int main() 
    { 
    std::cout << getenv("username") << std::endl; 
    return 0; 
    } 
+0

サービスからですか? – IInspectable

関連する問題