Foxtable(狐表)用户栏目专家坐堂 → [求助]如何实现锁屏功能?


  共有6313人关注过本帖树形打印复制链接

主题:[求助]如何实现锁屏功能?

帅哥哟,离线,有人找我吗?
xu3180497
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:153 积分:1174 威望:0 精华:0 注册:2013/6/19 10:54:00
[求助]如何实现锁屏功能?  发帖心情 Post By:2013/7/24 0:44:00 [只看该作者]

打开一个项目,设置一个时间,比如5分钟,如何在5分钟内没有任何操作的话,就自动锁屏,只显示锁屏界面,不显示foxtable项目界面。如何进入需要重新输入密码后方可登录,求例子!!!

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/7/24 7:45:00 [只看该作者]

SystemIdle

在系统空闲的时候执行。
此事件执行较为频繁,所以请不要出现"负荷"较重的代码。

示例一

例如为了在状态栏显示用户名、表名、总行数、当前行位置,可以在SystemIdle中加入下面的代码:

With CurrentTable
    Dim
Str1 As String = "用户: " & User.Name
    Str1 = Str1 &
" 表名: " & .Name & " 总行数: "
    Str1 = Str1 & .Rows.Count &
" 当前行: " & (.Position + 1)
    StatusBar.Message1 = Str1

End
With

示例二

如果用户30秒内没有进行任何操作,就自动关闭系统,可以在SystemIdle中加入下面的代码:

If LastInputTickCount > 30000 Then
    Syscmd.Project.Exit()

End
If

提示:LastInputTickCount是一个系统变量,返回距离用户上次操作之后的时间,单位为毫秒。


 回到顶部
帅哥哟,离线,有人找我吗?
xu3180497
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:153 积分:1174 威望:0 精华:0 注册:2013/6/19 10:54:00
  发帖心情 Post By:2013/7/24 13:49:00 [只看该作者]

可是锁屏的功能应该怎么在这个事件里面去实现呢?烦请详细说明下,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/7/24 14:21:00 [只看该作者]

不是说的很清楚了吗?

If LastInputTickCount > 30000 Then   '如果在30秒没有操作
    
CurrentTable.Grid.Findform.Visible = False  '隐藏主界面
    forms("登录").open  '开启登录窗口
End If

 回到顶部
帅哥哟,离线,有人找我吗?
wuxianzuoji41
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
  发帖心情 Post By:2013/7/27 15:21:00 [只看该作者]

以下是引用blackzhu在2013-7-24 14:21:00的发言:
不是说的很清楚了吗?

If LastInputTickCount > 30000 Then   '如果在30秒没有操作
    
CurrentTable.Grid.Findform.Visible = False  '隐藏主界面
    forms("登录").open  '开启登录窗口
End If

 forms("登录").open

提示没有登陆窗口,FT默认的带开发者的登陆窗口该怎么写这句代码?


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/7/27 15:24:00 [只看该作者]

Syscmd.Project.SwitchUser()

但是这是可以关掉的,所以还是自己设计一个比较好.

 回到顶部
帅哥哟,离线,有人找我吗?
wuxianzuoji41
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
  发帖心情 Post By:2013/7/27 16:37:00 [只看该作者]

If LastInputTickCount > 30000 Then   '如果在30秒没有操作
    CurrentTable.Grid.Findform.Visible = False  '隐藏主界面
    Syscmd.Project.SwitchUser() '开启登录窗口
End If

 

可以自动到切换登陆界面,但是提示创建句柄错误

 

 

出现死循环,登陆窗口关闭不掉

[此贴子已经被作者于2013-7-27 16:42:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/7/27 16:50:00 [只看该作者]

这个可以点击关闭,不实用.建议还是自己设计一个

另外最好判断一下该窗口是否除以打开状态再执行,否则会一直打开

if forms("窗口1").opend=false then
    forms("窗口1").show
end if

 回到顶部
帅哥哟,离线,有人找我吗?
wuxianzuoji41
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
  发帖心情 Post By:2013/7/27 18:49:00 [只看该作者]

以下是引用Bin在2013-7-27 16:50:00的发言:
这个可以点击关闭,不实用.建议还是自己设计一个

另外最好判断一下该窗口是否除以打开状态再执行,否则会一直打开

if forms("窗口1").opend=false then
    forms("窗口1").show
end if
If LastInputTickCount > 30000 Then   '如果在30秒没有操作
    
CurrentTable.Grid.Findform.Visible = False  '隐藏主界面
   
if forms("登陆").opend=false then
    forms("登陆").show
end if
End If
 
是这么写吗

 回到顶部