VB 怎么阻止别的窗口的关闭
解决时间 2021-05-03 23:02
- 提问者网友:半生酒醒
- 2021-05-03 13:53
比如现在我有一个窗口,名称是:“ABCD”
这个窗口将在5秒后自动关闭
他的窗口句柄可以用
dim h as long
h=FindWindow(vbnullstring,"ABCD")
得到
我现在另外写个程序,来阻止这个窗口的自我关闭
要怎么写呢???
VB不好使,用其他的语言也可以...
最佳答案
- 五星知识达人网友:爱难随人意
- 2021-05-03 14:02
对,可以用内存修改工具来修改关闭时间。
也可以查到这个内存地址然后用VB来重新发送内存地址。
就像外挂一样。
全部回答
- 1楼网友:酒安江南
- 2021-05-03 17:02
可以截获这个窗口的wm_close消息阻止他关闭,大概流程是
form1.frm
Private Sub Form_Load()
lpPrevWndProc = SetWindowLong(Me.hwnd, -4, AddressOf WindowProc) '设置消息过滤函数为WindowProc函数,该函数必须位于VB的模块文件内
end sub
bas1.bas
Function WindowProc(ByVal hwnd2 As Long, ByVal message2 As Long, ByVal wParam2 As Long, ByVal lParam2 As Long) As Long
'只要不把消息传递给默认窗口消息处理函数窗口就不会关闭
If message2 = WM_CLOSE Then
exitfunction
End If
WindowProc = CallWindowProc(lpPrevWndProc, hwnd2, message2, wParam2, lParam2) '把消息传递给默认处理函数
end function
HOOK API可以实现
- 3楼网友:从此江山别
- 2021-05-03 14:30
看样子得通过修改程序所在的内存才行。将5秒修改成更长的时间即可。
不过简单的可以通过金山游侠之类的修改。
如果这个窗体有加密那就更麻烦了。就不止是获得句柄PID修改内存。
要代码不现实。随便建议。非您要的答案
我要举报
大家都在看
推荐资讯