弹出密码框绕过班次

Posted

技术标签:

【中文标题】弹出密码框绕过班次【英文标题】:Bypass shift with pop up password box 【发布时间】:2015-10-07 11:31:10 【问题描述】:

我正在尝试创建一个访问数据库,即使是绕过转移选项,用户也会关闭该数据库。我已经完成了执行此操作的代码,但我想添加的是当按下 shift 键时会弹出一个框,允许用户输入密码,并且绕过 shift 选项将再次起作用。有人知道这是否可能吗?

谢谢!

Function ap_DisableShift()

On Error GoTo errDisableShift

Dim db As DAO.Database
Dim prop As DAO.Property
Const conPropNotFound = 3270

Set db = CurrentDb()

db.Properties("AllowByPassKey") = False

Exit Function

errDisableShift:

If Err = conPropNotFound Then
Set prop = db.CreateProperty("AllowByPassKey", _
dbBoolean, False)
db.Properties.Append prop
Resume Next
Else
MsgBox "Function 'ap_DisableShift' did not complete successfully."
Exit Function
End If

End Function

【问题讨论】:

【参考方案1】:

我认为禁用 shift 时无法捕获启动事件。我一直在做的是在启动表单上添加一个隐藏的密码文本框。密码文本框可以通过“隐藏按钮”激活。该效果仅适用于下一次启动事件(及以后),因此它不像您希望的那样直接,但它是可靠的。

    在启动窗体中添加一个矩形作为鼠标捕捉器。确保 Back Style 设置为 Normal,但颜色与表单的 BackColor 相同,因此它是不可见的。 在启动表单中添加隐藏文本框。将Input Mask设置为Password 向矩形添加一个 Double_Click 事件,这将取消隐藏密码文本框 在密码文本框中添加一个AfterUpdate 事件,如果密码正确,这将启用 shift 键 (AllowBypassKey)。下次启动就可以进入访问界面了。

使用 AllowBypassKey:

Public Sub CreateLockProperty()

    CurrentDb.Properties.Append CurrentDb.CreateProperty("AllowBypassKey", dbBoolean, True)

End Sub

Public Sub SetToolLock(bLocked As Boolean)

    CurrentDb.Properties("AllowBypassKey") = Not bLocked

End Sub

Public Function ToolLocked() As Boolean

    ToolLocked = Not CurrentDb.Properties("AllowBypassKey")

End Function

首先,您必须通过运行第一个过程来创建属性。之后就可以使用其他两个了。

【讨论】:

我已经添加了我必须绕过班次的代码如何将密码部分添加到此代码中? 好吧...我认为代码有效,但它没有,您有禁用 shift 按钮的代码吗? 你最好搜索AllowBypassKey。有很多关于它的帖子。如果它有效,那么我们可以查看您查询的密码部分。 我一直在搜索和尝试所有类型的代码,但都没有工作...是因为我的数据库是 .accdb 吗? 我添加了关于AllowBypassKey我的答案的信息

以上是关于弹出密码框绕过班次的主要内容,如果未能解决你的问题,请参考以下文章

简单绕过Chrome密码查看逻辑,查看浏览器已保存的密码

php怎样实现点击删除时弹出输入框输入密码确认后再删除?

徒手绕过Windows7登录密码

防止git弹出gnome密码框

解决Eclipse一直弹出Login Required要求输入用户、密码的问题

5secureCRT连接虚拟机服务器时不弹出输入安全外壳密码框