如何理解用户登录Windows的时间 [英] How to understand when a user logs into windows
问题描述
大家好,
我正在尝试制作以下内容的应用。
当用户登录到Windows时,我希望我的应用程序能够运行。有人可以帮我解决用户何时通过输入他们的凭据登录到Windows并让我的应用知道。
我想将我的应用程序放到启动文件夹并使计时器每秒或按给定的间隔检查登录过程。给我一个参考链接如何检查登录也很好?
这是解决这个问题的正确途径吗?如果有人带我走,我将不胜感激。在此先感谢。
Hello all,
I am trying to make an app which does the following.
When a user logs in to Windows I want my app to run. Can someone help me how to figure out when a user logs in to windows by typing their credentials and let my app know.
I am thinking putting my app to startup folder and make a timer check the login process every second or by the given interval. It will be also nice to give me a reference link how to check the login?
Is that a correct path to overcome this problem? I would appreciate if someone lead me the way. Thanks in advance.
推荐答案
使用Windows任务计划程序,并添加触发器以在用户登录时运行您的任务。
< a href =http://technet.microsoft.com/en-us/library/cc748841.aspx> http://technet.microsoft.com/en-us/library/cc748841.aspx [< a href =http://technet.microsoft.com/en-us/library/cc748841.aspxtarget =_ blanktitle =新窗口> ^ ]
Use the Windows Task Scheduler, and add a trigger to run your task when a user logs in.
http://technet.microsoft.com/en-us/library/cc748841.aspx[^]
解决方案1的替代方案:
无论出于何种原因,您都可以开发自己的Windows服务。在该服务中,您可以使用类Microsoft.Win32.SystemEvents
处理系统事件:
http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents%28v = vs.110%29.aspx [ ^ ]。
您需要处理的事件是SessionSwitch
:
http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.sessionswitch(v = vs.110).aspx [ ^ ]。
如果必须是Windows服务应用程序,因为您的应用程序当用户登录时,应该已经在运行。请参阅:
http://en.wikipedia.org/wiki/Windows_service [< a href =http://en.wikipedia.org/wiki/Windows_servicetarget =_ blanktitle =New Window> ^ ],
http://msdn.microsoft.com/en-us/library/d56de412(v=vs。 110).aspx [ ^ ],
http://msdn.microsoft.com/en-us/library/y817hyb6%28v=vs.110%29.aspx [ ^ ]。
-SA
Alternative to Solution 1:
You can develop your own Windows Service, by whatever reason. In that service, you can handle system events using the classMicrosoft.Win32.SystemEvents
:
http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents%28v=vs.110%29.aspx[^].
The event you would need to handle isSessionSwitch
:
http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.sessionswitch(v=vs.110).aspx[^].
If has to be the Windows Service applicaiton, because your application should be already running when a user logs on. Please see:
http://en.wikipedia.org/wiki/Windows_service[^],
http://msdn.microsoft.com/en-us/library/d56de412(v=vs.110).aspx[^],
http://msdn.microsoft.com/en-us/library/y817hyb6%28v=vs.110%29.aspx[^].
—SA
这篇关于如何理解用户登录Windows的时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!