以文本方式查看主题

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

 
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

2.


 


图片点击可在新窗口打开查看此主题相关图片如下:2 (1).png
图片点击可在新窗口打开查看

3.


 


图片点击可在新窗口打开查看此主题相关图片如下:2 (2).png
图片点击可在新窗口打开查看

 

 

我想第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
--  
 无语,不存在事件不起作用的情况。