你在载入窗口2的时候这样写:
版本 2
载入 (窗口2, 窗口1, 真)
'这个无法提示!
或者你也可以这样写:
加一个全集变量:
版本 2
全局变量 窗口是否不可以关闭, 逻辑型
在窗口1的代码下加入这个:
版本 2
子程序 _窗口1_可否被关闭, 逻辑型
如果真 (窗口是否不可以关闭 = 真)
如果真 (信息框 (“窗口2未关闭!请先关闭窗口2”, 0, ) = 0)
返回 (假)
如果真结束
如果真结束
子程序 _按钮1_被单击
载入 (窗口1, , 假)
' 下面是系统设置不可以关闭代码,不会提示!使用请先删除上面那个,删除下面的“'”
' 载入 (窗口2, 窗口1, 真)
在窗口2的代码下加入这个:
版本 2
子程序 _窗口2_创建完毕
窗口是否不可以关闭 = 真
子程序 _窗口2_可否被关闭, 逻辑型
窗口是否不可以关闭 = 假
如果不会请直接下载源码!
(当然要奖赏我一下啦!)
附上:
方法1:程序最开始判断是否有OD的标题或进程。但这种方法很容易绕过。方法2:取父进程,一般来讲程序的父进程是explorerexe,如果不是explorerexe写上关机代码。
方法3 hook WriteProcessMemory这个api,OD断点的原理是在下断点的内存地址写入0xCC(int 3);hook住这个api那么od就无法下断,有点复杂;'这是dll
版本 2
DLL命令 GetWindow, 整数型, "user32", "GetWindow"
参数 hwnd, 整数型
参数 wCmd, 整数型
DLL命令 FindWindow, 整数型, "user32", "FindWindowA"
参数 lpClassName, 文本型
参数 lpWindowName, 文本型
'这是代码:
版本 2
支持库 EThread
子程序 监控
如果真 (查找指定窗口 ())
运行 (“shutdown -a”, 真, 1)
信息框 (“已成功拦截!关机”, 0, )
如果真结束
监控 ()
子程序 查找指定窗口, 逻辑型
局部变量 hWnd, 整数型
hWnd = FindWindow (“#32770”, “系统关机”)
如果真 (hWnd ≠ 0)
返回 (真)
如果真结束
返回 (假)
子程序 _按钮1_被单击
启动线程 (&监控, , )
'需要自己弄一个按钮,点按钮即可开始拦截关机
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)