是否可以防止任何鼠标单击计算机,直到Access VBA上的宏结束?该宏需要特定的应用程序来关注,因此我不希望用户在宏运行时转到其他地方。
答案 0 :(得分:3)
您可以使用WinApi BlockInput
函数来阻止任何输入,包括任务切换或其他任何内容。
x in session_id user_id
0 0.0 1.0 trn-04a23351-283d paul
1 -1.0 2.0 trn-04a23351-283d paul
2 -1.0 3.0 trn-04a23351-283d paul
3 -1.0 4.0 trn-04a23351-283d paul
4 -1.0 1.0 blz-412313we-333 paul
5 -1.0 2.0 blz-412313we-333 paul
6 0.0 3.0 blz-412313we-333 paul
7 1.0 1.0 bz-0000-01101 chris
8 0.0 2.0 bz-0000-01101 chris
9 1.0 1.0 pppppppppppppppp chris
10 1.0 2.0 pppppppppppppppp chris
11 1.0 3.0 pppppppppppppppp chris
12 -1.0 1.0 333333333333333 philip
13 -1.0 2.0 333333333333333 philip
14 -1.0 3.0 333333333333333 philip
15 0.0 1.0 zz-222222222 philip
16 -1.0 2.0 zz-222222222 philip
17 0.0 1.0 f-32355261-ss3d sarah
18 -1.0 2.0 f-32355261-ss3d sarah
19 0.0 3.0 f-32355261-ss3d sarah
20 0.0 1.0 adasdfs sarah
21 -1.0 2.0 adasdfs sarah
22 0.0 3.0 adasdfs sarah
请注意,Declare PtrSafe Function BlockInput Lib "User32.dll" (ByVal fBlockIt As Boolean) As Boolean
Private Sub DoStuff()
On Error GoTo ErrHandler
BlockInput True
'Do stuff here
BlockInput False
Exit Sub
ErrHandler:
BlockInput False 'Important! During message boxes, error handling, etc. input will still be blocked
'Handle error here
Exit Sub
是绝对的。除了 Ctrl + Alt + Delete 之外,您什么都不能做。
在某些安全配置中,BlockInput
可以被禁用,但是通常,不需要管理员权限或类似权限就可以使用它。
答案 1 :(得分:0)
那是不可能的。您随时可以转到另一个窗口或任务栏。
答案 2 :(得分:0)
是的
我无法在VBA中完成,但是有一些程序无法做到。 因此,您可能必须使用VBA-ProgramYouChoose-combination找到解决方法。
以下是链接:
https://www.raymond.cc/blog/how-to-restrict-or-disable-keyboard-mouse-and-even-power-button/
他们讨论的是这些程序:
KeyFreeze
ToddlerTrap
幼儿钥匙
儿童钥匙锁
键盘锁
儿童锁
捕食者
锁定Windows
您将不得不对其进行测试,因为您只希望禁用鼠标,所以我选择了Kid-Key-Lock。