vb一个无法退出的程序的代码 要求不能使win按键 alt tab按键 ctrl alt delete按键有效果

最好能兼容win7和xp很多代码在win7貌似没用... 最好能兼容win7和xp
很多代码在win7貌似没用
展开
 我来答
能量标杆金百万cq
2011-03-01 · TA获得超过277个赞
知道小有建树答主
回答量:286
采纳率:0%
帮助的人:209万
展开全部
没有不可退出的程序,除非是系统核心进程。只能是增加些退出的难度而已。

一、禁用任务管理器,因为处于修改状态的程序是无法启动的。
Open "C:\WINDOWS\system32\taskmgr.exe" For Append As #1

二、使alt+f4失效,因为每次关闭都被取消。
Private Sub Form_Unload(Cancel As Integer)
Cancel = True
End Sub

三、将程序隐藏到进程,任务栏不显示,你可以不断刷,很多游戏就是这样做的。
App.TaskVisible = False

四、将窗口前置,可以使alt+tab失效,因为不管怎么切窗口都在最前。
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_TOPMOST& = -1
' 将窗口置于列表顶部,并位于任何最顶部窗口的前面
Private Const SWP_NOSIZE& = &H1
' 保持窗口大小
Private Const SWP_NOMOVE& = &H2
' 保持窗口位置
'以上API函数和常数的声明可在VB自带的“API 浏览器”中找到

Private Sub Form_Load()
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
' 将窗口设为总在最前
End Sub

五、第四项的代码可以用timer不断刷,很多游戏就是这样使窗口前置的。
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_TOPMOST& = -1
' 将窗口置于列表顶部,并位于任何最顶部窗口的前面
Private Const SWP_NOSIZE& = &H1
' 保持窗口大小
Private Const SWP_NOMOVE& = &H2
' 保持窗口位置
'以上API函数和常数的声明可在VB自带的“API 浏览器”中找到
Private Sub Form_Load()
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
' 将窗口设为总在最前
Timer1.Interval = 1
End Sub

Private Sub Timer1_Timer()
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
End Sub

六、windows键的我不知道怎么禁用。
百事牛
2024-10-22 广告
百事牛是共享提供商,我们提供可靠有效的服务,适当合理的授权费有利于的继续更新优化。同样的事情,同样的方法,百事牛团队十年磨一剑,始终至聚焦在密码恢复领域,深耕于此,我们已研制出有别于其他公司的算法和运算模式, 百事牛的暴力模式加入了分布式点... 点击进入详情页
本回答由百事牛提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式