如何接收事件的网络连接,并在同时,当用户登录时, [英] How to receive event when network is connected and also when user logs in
本文介绍了如何接收事件的网络连接,并在同时,当用户登录时,的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个运行的服务,我想收到通知时:
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屋!
查看全文