WinForm检测用户是不是已登陆的方法--简单问题--请高手回答!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinForm检测用户是不是已登陆的方法--简单问题--请高手回答!相关的知识,希望对你有一定的参考价值。

我的程序实现期望是这样的:

启动应用程序后

传入用户名

检测该用户是否已经登陆

应用情景详细说明:

用户A启动应用程序x,登陆,使用应用程序x;

用户B启动应用程序x,登陆,使用应用程序x;

用户A再次启动应用程序x,登陆,检测到A已经登陆,弹出框通知.退出;

我的不成立的构想:

用户启动应用程序登陆成功后,在一个指定路径指定文件中写入登陆记录(包含用户名\登陆状态:已登陆);用户退出应用程序时,更改登陆记录(包含用户名\登陆状态:未登陆);

当此用户再次启动此应用程序的时候,读取指定路径指定文件中的登陆记录,如果用户的登陆状态是已登陆,弹框通知.

这个方法的缺陷是如果遇到停电等非正常退出,用户登陆记录中的登陆状态还是已登陆,这时如果用户再次登陆就会被弹框通知.

还有使用单身模式也不太适合.

请教各位高手指导一个实现方法,可以不必写代码,只需实现思路即可.

谢谢!

写到注册表里面吧,保存上一次操作启动的时间,和当前操作系统用户上一次登录的时间和操作系统用户名;保存应用程序的登录凭证.

应用程序启动时,
判断保存的数据是否本次操作系统启动后的,
判断操作系统用户是否本次登录的(防止操作用户注销后);
然后判断应用程序的登录凭证.

如果是操作系统是多用户的话,为每个操作系统用户保存应用程序的凭证会麻烦一点;比如我的XP可以多用户登录,同时登录了user1和user2,那么操作系统user1的应用程序凭证能否在user2的环境下生效?
参考技术A winform应该好解决吧 直接给user数据库给个状态 几分钟刷一次 如果没情况就让他标识假 停电的问题倒不大 怕的是非正常退出 停电多久才一次是不是 像web程序根本不能控制关闭IE时候的操作 而winform则可以再退出时释放资源 也能做你的控制同一用户登录登录

实在不行就只能做后来的用户把以前的踢下线的做法了
放在app...里面

以上是关于WinForm检测用户是不是已登陆的方法--简单问题--请高手回答!的主要内容,如果未能解决你的问题,请参考以下文章

winform 界面上怎么做到时时检测是不是有新数据.有就刷新界面数据

C#,winform,怎样在一个页面显示前,首先先显示个等待提示?

大家好! 我遇到了C#winform的重登陆问题。就是说,如果一个用户登陆了后,就不能再次登录。

struts2的重复登陆问题

winform中怎样判断子窗体是不是已打开?

C#Winform 当出现重复登陆的情况时,后登陆的用户如何将先登陆的用户T掉