标题: 用VBS屏蔽键盘和鼠标
作者: Demon
链接: https://demon.tw/programming/vbs-block-keyboard-mouse.html
版权: 本博客的所有文章,都遵守“署名-非商业性使用-相同方式共享 2.5 中国大陆”协议条款。
看到标题你是不是不相信呢,说实话,换成以前我也不相信,VBS怎么可能屏蔽键盘和鼠标呢?光靠VBS当然是不可能的啦。但是结合我之前的两篇文章《用C语言屏蔽键盘和鼠标》和《用VBS读写二进制文件》,你会发现通过曲线救国的方法就可以实现了。这应该还算用VBS屏蔽的吧,就像网上很多人在批处理中调用VBS来实现一些批处理无法实现的功能一样。
用C语言写出来的程序还是有点太大了,我用汇编写了一个屏蔽键盘和鼠标的程序,编译好以后才2.5KB,把它的二进制数据放到VBS中不算太大,下载地址在文章末尾。
另外要说一下的是,网上也有所谓的“屏蔽”键盘的VBS程序,使用了快捷方式的快捷键来实现的,只能屏蔽单个按键,组合键和部分特殊按键无法屏蔽,不过拿来恶作剧一下也是不错的。但是代码中那个叫伤脑筋的写的代码通用性也太不高了,竟然使用"\程序\附件\辅助工具\"这样的路径,他怎么知道别人的电脑上有这个路径。我的系统是英文版的,就没有这个路径。于是我改写了一下,代码如下
Dim strKeys,arrKeys strKeys = "A,B,C,D,E,F,G,"_ & "H,I,J,K,L,M,N,O,P,Q,"_ & "R,S,T,U,V,W,X,Y,Z,"_ & "1,2,3,4,5,6,7,8,9,0,"_ & "Tab,Up,Down,Left,Right,"_ & "F1,F2,F3,F4,F5,F6,F7,"_ & "F8,F9,F10,F11,F12" arrKeys = Split(strKeys,",",-1,1) Dim WshShell Set WshShell = CreateObject("wscript.Shell") Dim fso Set fso = CreateObject("scripting.filesystemobject") Dim desktop desktop = WshShell.SpecialFolders("Desktop") Dim bound,link,path bound = UBound(arrKeys) For i = 0 To bound path = desktop & "\" & arrKeys(i) & ".lnk" Set link = WshShell.CreateShortcut(path) link.TargetPath = "https://demon.tw" link.HotKey = arrKeys(i) link.Save fso.GetFile(path).Attributes = 6 Next
不过,还是下面给出的代码才是真正的屏蔽键盘,代码太长就不贴出来了,需要的自己下载。
VBS屏蔽键盘和鼠标的代码
[download id=16]
顺便附上汇编语言屏蔽键盘和鼠标的代码
[download id=17]
赞赏微信赞赏支付宝赞赏
随机文章:
Demon,我拿这个去玩别人,结果人家的瑞星报毒了,说是木马,停止运行。
垃圾瑞星,真正的木马杀不出来,不是木马的却说是木马
你好,这个VBS脚本确实很强大,下下来运行了,只能强制关机了,不过我只想屏蔽掉我电脑的ctrl+alt+F12 和ALT+F11这两个各组合键改怎么改啊。。。。如果不方便贴出来的话,可以发我邮箱:591455396@qq.com.非常感谢!!
我自己运行了,结果只有ctrl+alt+F12这个组合键可以调用,但是调用出来后根本就无法操作,按TAB都不行……膜拜…………
我用VBS做了个小程序,运行时如果乱点鼠标和键盘,程序就可能会出错,如果不动键盘和鼠标,程序就能正常运行到结束。我想把这段代码加到我的程序前,不知有没有解除屏蔽的代码。
有没有解除的代码?
我在网上有看到这个文件的截图,但却找不到,原来最原版的在你这里
可否给出链接?
请问,怎么恢复
注销当前用户或者重启系统。
真是不错的思路,而且个人变为还可以做触发性启动。不过至于解除的方法,删除快捷方式不行么?去除文件属性也很简单啊!有些不理解
我刚学vbs,怎么改成用VBS可以关闭的?
记得用vbs启动可以得到进程句柄,然后通过句柄结束进程,不知道这个思路行不行?
代码下载地址如何下载呢?