2017-11-22 8 views
0

システム内でスケジュールウィンドウサービスを実行しています。その中で、同じシステム内の特定のユーザーがリモートで切断されているかどうかを検出したいと思います。これを達成するためにシステム上の特定のユーザーがRemoteDisconnectedであるかどうかをどのように検出できますか?

、現在私はのOnSessionChange(..)メソッドをオーバーライドしていますが、私は同じファイルからそれを読んで、状態を確認する必要があるファイル内の状態を書き込むことクラスをSystem.ServiceProcess.ServiceBase、いつ 。

しかし、私はそれをファイルに保存せずに検出するより良い方法を知りたいですか?

class mySessionBase : ServiceBase 
{ 
    protected override void OnSessionChange(SessionChangeDescription changeDescription) 
    { 
     //Save the status of machine in file 
     hangeDescription.Reason.ToString() 
     changeDescription.SessionId 
    } 
} 

これを検出するウィンドウリモートAPIはありますか?事前に

おかげ

Mahen

+0

[ 'WTSEnumerateSessions()'](https://msdn.microsoft.com/en-us/library/aa383833.aspx)を見て、[ 'WTSQuerySessionInformation()'](HTTPS:/ /msdn.microsoft.com/en-us/library/aa383838.aspx)。あなたは後者からユーザー情報とリモート状態を取得できます –

+0

はい、WTSEnumerateSessions()は私たちの仕事です – mahen

答えて

関連する問題