设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 1509|回复: 13
打印 上一主题 下一主题

[Access本身] [求助][求助]如何自动关闭Access

[复制链接]
跳转到指定楼层
1#
发表于 2006-5-21 00:14:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我用ACCESS编程,遇到一个棘手问题希望高手帮助:

假设:我的数据库如果10分钟没有操作就自动关闭(不管是在前台还是正在后台)

小生在这里作揖了!

我使用“Form_Deactivate()”事件不成的!急急急啊
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
14#
发表于 2006-5-23 21:21:00 | 只看该作者
这里有一段zhuyiwen版主提供的禁用鼠标滚轮的代码,供你参考借鉴API钩入的方法。



Option Compare Database
Option Explicit
Public dk As Boolean
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
    (ByVal hwnd As Long, _
    ByVal nIndex As Long, _
    ByVal dwNewLong As Long) As Long

Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" _
   (ByVal lpPrevWndFunc As Long, _
     ByVal hwnd As Long, _
     ByVal msg As Long, _
     ByVal wParam As Long, _
     ByVal lParam As Long) As Long


Public Const GWL_WNDPROC = -4
Public Const WM_MouseWheel = &H20A
Public lpPrevWndProc As Long
Public CMouse As CMouseWheel

Public Function WindowProc(ByVal hwnd As Long, _
    ByVal uMsg As Long, _
    ByVal wParam As Long, _
    ByVal lParam As Long) As Long

    'Look at the message passed to the window. If it is
    'a mouse wheel message, call the FireMouseWheel procedure
    'in the CMouseWheel class, which in turn raises the MouseWheel
    'event. If the Cancel argument in the form event procedure is
    'set to False, then we process the message normally, otherwise
    'we ignore it.  If the message is something other than the mouse
    'wheel, then process it normally
    Select Case uMsg
        Case WM_MouseWheel
            CMouse.FireMouseWheel
            If CMouse.MouseWheelCancel = False Then
                WindowProc = CallWindowProc(lpPrevWndProc, hwnd, uMsg, wParam, lParam)
            End If


        Case Else
           WindowProc = CallWindowProc(lpPrevWndProc, hwnd, uMsg, wParam, lParam)
    End Select
End Function


13#
发表于 2006-5-23 21:17:00 | 只看该作者
以下是引用fannky在2006-5-22 8:30:00的发言:



至于实现如何困难都是题外话,我想知道可行性与方法,3Q





OK,如果你实在感兴趣的话,推荐你查找一下关于API钩子的文章,监控鼠标键盘动作,一般都是通过将自己的程序钩入系统,当鼠标键盘有任何操作时,你的代码将被调用,然后在你的代码中记录最后的操作时间,并判断是否已经超时。如果超时可以通过API直接关闭应用程序。

其实这个可行性没什么好怀疑的,Windows应用程序本身就建立在API的基础上,这是整个Windows编程的基础。



12#
 楼主| 发表于 2006-5-23 18:35:00 | 只看该作者
我实在不中意灌水,但是看这贴子要沉了,而且还是没有得到答案,不甘心啊

再挺起来……
11#
 楼主| 发表于 2006-5-22 22:19:00 | 只看该作者
楼上的可否说的详细点?

怎样捕获事件?
10#
发表于 2006-5-22 17:40:00 | 只看该作者
application.close()??
9#
 楼主| 发表于 2006-5-22 16:30:00 | 只看该作者

回复:(LucasLynn)以下是引用mulinsen在2006-5-20 1...

以下是引用LucasLynn在2006-5-20 18:00:00的发言:






关键是你API编程的基础如何,如果不过关的话就不要尝试了。

至于实现如何困难都是题外话,我想知道可行性与方法,3Q
8#
发表于 2006-5-21 02:00:00 | 只看该作者
以下是引用mulinsen在2006-5-20 16:43:00的发言:
具体的代码不清楚,但有一定的思路一起来讨论。如一些软件QQ或系统的屏保。当一个事件没有操作挂起时,用一个时间的控件来计算时间,在这期间如果这个事件激活了时间控件清空,没有激活就等到规定的时间就推出系统。DoCmd.Quit来推出系统



关键是你API编程的基础如何,如果不过关的话就不要尝试了。






7#
 楼主| 发表于 2006-5-21 00:57:00 | 只看该作者

回复:(一点通)要不断捕捉键盘及鼠标是否在活动,而A...

您说的有道理,虽然是得一失一,但是我如果能够得到正解,那我就是100%得到了!

谢谢回复
6#
 楼主| 发表于 2006-5-21 00:54:00 | 只看该作者

回复:(mulinsen)具体的代码不清楚,但有一定的思路...

谢谢关注,希望更多的人能关注这个问题,大家共同研究讨论
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-22 17:25 , Processed in 0.096487 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表