如何接收事件的网络连接,并在同时,当用户登录时, [英] How to receive event when network is connected and also when user logs in

查看:153
本文介绍了如何接收事件的网络连接,并在同时,当用户登录时,的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个运行的服务,我想收到通知时:

a)该网络相连。

B)当本机用户登录。

我怎样才能做到这一点? (C#.NET 2.0)

解决方案

  //使用的Microsoft.Win32;
//使用System.Net.NetworkInformation;
公共类SessionChanges
{
    公共SessionChanges()
    {
        NetworkChange.NetworkAvailabilityChanged + =
            新NetworkAvailabilityChangedEventHandler(NetworkChange_NetworkAvailabilityChanged);
        SystemEvents.SessionSwitch + =新SessionSwitchEventHandler(SystemEvents_SessionSwitch);
    }

    无效SystemEvents_SessionSwitch(对象发件人,SessionSwitchEventArgs E)
    {
        如果(e.Reason == SessionSwitchReason.SessionLogon)
        {
            //用户登录
        }
    }

    无效NetworkChange_NetworkAvailabilityChanged(对象发件人,NetworkAvailabilityEventArgs E)
    {
        如果(e.IsAvailable)
        {
            //一个网络可用
        }
    }
}
 

I have a service that runs and I'd like to receive notification when:

a) the network is connected.

b) when a user logs in to the machine.

How can I do this? (C# .NET 2.0)

解决方案

//using Microsoft.Win32;
//using System.Net.NetworkInformation;
public class SessionChanges
{
    public SessionChanges()
    {
        NetworkChange.NetworkAvailabilityChanged += 
            new NetworkAvailabilityChangedEventHandler(NetworkChange_NetworkAvailabilityChanged);
        SystemEvents.SessionSwitch += new SessionSwitchEventHandler(SystemEvents_SessionSwitch);
    }

    void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e)
    {
        if (e.Reason == SessionSwitchReason.SessionLogon)
        { 
            //user logged in
        }
    }

    void NetworkChange_NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e)
    {
        if (e.IsAvailable)
        { 
            //a network is available
        }
    }
}

这篇关于如何接收事件的网络连接,并在同时,当用户登录时,的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆