如何接收事件的网络连接,并在同时,当用户登录时,并在、用户登录、事件、网络

由网友(相遇。)分享简介:我有一个运行的服务,我想收到通知时:a)该网络相连。 B)当本机用户登录。我怎样才能做到这一点? (C#.NET 2.0)解决方案 //使用的Microsoft.Win32;//使用System.Net.NetworkInformation;公共类SessionChanges{公共SessionChange...

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

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
        }
    }
}

阅读全文

相关推荐

最新文章