Windowsでこのログオンイベントを検出できません。ここでC#でOnSessionChangeを使用してWindowsログオンイベントを検出する方法
は私のコードです:
namespace ConsoleApplication2
{
public class MyService: ServiceBase
{
public MyService()
{
CanPauseAndContinue = true;
CanHandleSessionChangeEvent = true;
}
protected override void OnSessionChange(SessionChangeDescription changeDescription)
{
base.OnSessionChange(changeDescription);
}
}
class Program
{
static void Main(string[] args)
{
MyService tpl = new MyService();
Thread t = new Thread(delegate()
{
while (true) { }
});
t.Start();
}
}
}
私は私のラップトップには、このアプリをして、リモートデスクトップを実行してテストするにはどうすればよいですか?私はWindows EventViewerで生成されたイベントを見ることができますが、OnSessionChange
は決して呼び出されません(私はブレークポイントを内部に追加しました)。
私のコードが間違っているか、間違ってテストしていますか?
あなたのラップトップではコードを作成するのではなく、スケジュールされたタスクの一部としてログインするための応答として追加することをお勧めします(Windows 10の場合はシンチ)。これを追加してログイン時に実行します。それは正確には..あなたはそれを検出する必要はありません – BugFinder
私はWindows 7でこれをテストしていますが、XPでも実行する必要があるので、私はちょっとコードを使用して検出する必要があります。 – Kobe
ブー..うん、いい計画です。あなたがあなたのために働いていない場合は、イベントログを監視することができます..あなたのアプリはサービスとして実行されていますか? – BugFinder