以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  切换用户窗口如何调用?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=188264)

--  作者:HANZHIGANG
--  发布时间:2023/9/11 10:43:00
--  切换用户窗口如何调用?
在系统5分钟无任何操作的情况一下,系统自动转入主界面窗口,并且调出系统自代的切换用户窗口?
在SystemIdle事件下写了如下代码:
If LastInputTickCount = 300000 Then 
    RibbonTabs("主界面").Selected = True
   Syscmd.Project.SwitchUser()
End If

以上代码可以实现这个功能,但会出现一个问题:就是会多次弹出切换用户窗口。

--  作者:有点蓝
--  发布时间:2023/9/11 10:56:00
--  
SystemIdle事件下写了如下代码:
If LastInputTickCount = 300000 orelse vars("u") = false Then 
vars("u") = true
    RibbonTabs("主界面").Selected = True
   Syscmd.Project.SwitchUser()
End If

项目属性LoadUserSetting事件
vars("u") = false

--  作者:HANZHIGANG
--  发布时间:2023/9/11 11:14:00
--  
变更为以上代码后,超过30秒后,没有变更为主界面,也没有弹出切换用户窗口
但是如果主动切换用户,输入密码后,会再次弹出切换用户窗口,一直重复一下

--  作者:有点蓝
--  发布时间:2023/9/11 11:21:00
--  
If LastInputTickCount = 300000 orelse vars("u") = false Then 
改为
If LastInputTickCount = 300000 andalso vars("u") = false Then 


项目AfterOpenProject
vars("u") = false

--  作者:HANZHIGANG
--  发布时间:2023/9/11 11:55:00
--  
还是不行,30秒后没有变化
--  作者:有点蓝
--  发布时间:2023/9/11 12:19:00
--  
您设置的是300秒,另外不会有那么准的秒数的,应该是

SystemIdle事件下写了如下代码:
If LastInputTickCount >= 300000 orelse vars("u") = false Then 
vars("u") = true
    RibbonTabs("主界面").Selected = True
   Syscmd.Project.SwitchUser()
vars("u") = false
End If