0

リモート デスクトップを使用して、マシンに接続されているクライアントを把握しようとしています。私は Cassia と Cassia.TerminalServicesManager について読みましたが、それについて理解することはできません...

Cassia.TerminalServicesManager().CurrentSession.ClientName でクライアントの名前がわかると思いましたが、それ以上の名前があるとしたらどうでしょうか。参考文献を見ましたが、まだ混乱しています。誰かが私を助けることができますか?

ありがとう

4

2 に答える 2

3

次のようなものを探しているようです。

var manager = new TerminalServicesManager();
using (var server = manager.GetLocalServer())
{
    server.Open();
    foreach (var session in server.GetSessions())
    {
        if (session.ConnectionState == ConnectionState.Active)
        {
            Console.WriteLine(session.ClientName);
        }
    }
}

ITerminalServicesManager.CurrentSession現在のプロセスが実行されているセッションを返します。

于 2012-06-06T13:10:55.713 に答える
0

デフォルトでは、リモート デスクトップを使用して Windows マシンに接続するとローカル ユーザーがオフになり、再度ログインするとリモート ユーザーがオフになります。同時リモート デスクトップ セッションを有効にしている場合は、複数のユーザーが同時に接続できます。私は Cassia に詳しくありませんが、毎回 Cassia.TerminalServicesManager().CurrentSession.ClientName を呼び出すすべてのセッションをループできるでしょうか?

于 2012-06-05T20:52:01.677 に答える