以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于SystemIdle事件的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69837) |
-- 作者:ap9709130 -- 发布时间:2015/6/11 16:32:00 -- 关于SystemIdle事件的问题 我现在做的系统想实现 如果5分钟内没有操作就要重新登陆。登陆窗口做好了,测试都没有问题。
现在的问题是,我做的程序有三种状态:1.现在使用的程序是焦点程序 2.程序在任务栏中: 3.程序在工具栏中,但不是焦点程序。 见图: 1. 2.
3.
我想第2.3种状态就不弹出登陆窗口,第二种状态我会判断。请问第三种状态要如何用代码判断呢? |
-- 作者:大红袍 -- 发布时间:2015/6/11 16:39:00 -- 判断 Windows.Forms.Form.ActiveForm
If Windows.Forms.Form.ActiveForm isNot Nothing Then
End If |
-- 作者:ap9709130 -- 发布时间:2015/6/11 17:25:00 -- 多谢!还有一个问题,如何可以知道 当程序重新获得焦点? |
-- 作者:大红袍 -- 发布时间:2015/6/11 17:37:00 -- 同样也是这样判断
If Windows.Forms.Form.ActiveForm isNot Nothing Then \'标记它重新获得焦点,计时重新开始 End If [此贴子已经被作者于2015/6/11 17:37:50编辑过]
|
-- 作者:ap9709130 -- 发布时间:2015/6/18 16:51:00 -- 大红袍
我想实现:当程序缩在任务栏时,计时开始。这个你已经教会我了,我试过没有问题。这时是在计时的,但可能用户在用其它程序,所以这时间是不能弹出登陆窗口的。
但是如果超过了5分钟后,如果当客户再选中我的程序时,为了安全是要重新登陆的。现在的问题是:有哪个事件或者代码,能判断我的程序变成了当前程序呢?请指教。多谢! |
-- 作者:大红袍 -- 发布时间:2015/6/18 16:57:00 -- 一样的意思啊
If Windows.Forms.Form.ActiveForm isNot Nothing Then msgbox("弹出窗口") End If |
-- 作者:ap9709130 -- 发布时间:2015/6/18 17:08:00 -- 这个代码写在哪个事件里? |
-- 作者:大红袍 -- 发布时间:2015/6/18 17:12:00 -- 你弹出窗口写在哪里,代码就写在哪里。意思是,你弹出之前,加一个判断即可。 |
-- 作者:ap9709130 -- 发布时间:2015/6/19 14:56:00 -- 大红袍
你可能没有懂我的意思,在程序不是当前程序时,系统肯定是没有操作的,我可以开始计时,但当程序变成当前程序时,因为你把程序变成了当前程序,就是说这个事件就不起作用了啊。窗口弹不出来啊。 |
-- 作者:大红袍 -- 发布时间:2015/6/19 14:58:00 -- 无语,不存在事件不起作用的情况。 |