如何在运行指定程序时(VB编写),禁止其他程序打开

如何在运行指定程序时(VB编写),禁止其他程序打开,第1张

这个可能性不太大,因为VB对底层的 *** 作比较差,不过你可以这样,用钩子拦截系统的信息流,判断,当系统的焦点要离开测验程序时(不要相信VB自己的那个窗体事件,在失去焦点这个事件上,VB根本判断不出来),测验程序记录入成绩并退出,再加上说明,这样就会让人无法离开测验程序后再回来了。当然,记录的成绩要保管好,最好用不同的加密算法加密后存到文件和注册表中各一份,每次启动测验程序后都要读出以前的两份成绩并对比,以保证没有被修改。

这样虽然严格了点,但应该可以对付一般的情况了,不过很可能对付不了那些游戏修改工具软件,还有VB生成的程序也有可能被破解,所以只能对付一般情况。

关键就是“某些键盘按钮失灵,点击以后让它没反应”这一点上,要想实现这一点,你就必须去拦截Windows的信息流,不让他得到“按键被按下”这个事件,而VB里的事件处理只是针对VB生成的程序本身的,你在VB里再怎么设置,顶多只是让VB生成的程序不对“按键被按下”这个事件有什么反应,Windows还是会得到这个事件,实际上Windows会在VB生成的程序前得到这个事件,所以,还是得用钩子,至于你说用钩子会变慢,那是一定的,就看慢多少了。

可以使用代码

If

App.PrevInstance

Then

MsgBox

"禁止重复运行,即将关闭程序!":

End

将代码放置在窗体的load事件中即可


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11073901.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存