标题: [文件操作] 如何用程序关闭“程序与系统版本不兼容”的错误提示对话框窗口 [打印本页]
作者: 我来了 时间: 2016-10-3 21:46 标题: 如何用程序关闭“程序与系统版本不兼容”的错误提示对话框窗口
如何用程序结束【非法进程】窗口?
测试档:http://pan.baidu.com/s/1mihisJm
1,先让这个窗口出现(关键这个PID 为空,但程序的文件名是确定因素)
2,用程序结束掉它
http://www.bathome.net/thread-14407-1-1.html
上边的试过了,按键精灵的插件也试过了,试过的方法不下九种,统统没办法搞定,请教了不少QQ群,也都没有好办法实现!故此请教
如果直接运行,或是win+R,运行时都会出现上面的提示!
如果用按键精灵命令: RunApp "C:\Users\wcc\Desktop\不让放桌面.exe" 则不会出现任何提示
如果用按键精灵365插件
测试得句柄 = Plugin.Plug365New.GetPid("不让放桌面.exe")
If 测试得句柄 = 0 Then 获得的PID为0
作者: aa77dd@163.com 时间: 2016-10-3 22:03
系统检测到程序和操作系统不兼容, 根本就没让它继续运行, 弹出的这个对话框并不属那个 EXE, 而是属于系统进程
作者: 我来了 时间: 2016-10-3 22:12
回复 2# aa77dd@163.com
这是我故意 模仿 程序的方式 修改了 16进制 文件头的特殊情况!
这种非人为意料的情况会出现很多种
譬如:内存错误,程序溢出,非法操作,程序被恶意修改
我的目的只有一个,用程序来把这样的 窗口自动的关上,这个可以办到么?
作者: pcl_test 时间: 2016-10-3 22:35
常用的方式根据窗口标题关闭指定窗口
作者: aa77dd@163.com 时间: 2016-10-3 22:44
D:\桌面\不让放桌面.exe
ahk_class #32770
ahk_exe explorer.exe
32770 这类对话框并不限于报错
https://msdn.microsoft.com/en-us ... 4%28v=vs.85%29.aspx
作者: aa77dd@163.com 时间: 2016-10-3 23:22
本帖最后由 aa77dd@163.com 于 2016-10-3 23:28 编辑
回复 1# 我来了
AHK 实现, 测试于 64位中文win7, 此处只能对对话框的标题作检测并与特定文件名 匹配检测, 匹配则关闭对话框
每间隔一秒扫描一次所有 32770 的对话框, 按 Windows + Esc 退出脚本
WinGetText 函数只能获取到 对话框的 按钮文本 "确定", 获取不到对话框显示的详细说明文本, 故此方式无法按错误信息类别作甄别- loop {
- WinGet, id, list, ahk_class #32770 ; get all windows (dialogs) with class #32770
-
- Loop, %id%
- {
- nhWnd := id%A_Index%
-
- WinGetTitle, Title, ahk_id %nhWnd%
- ; MsgBox, The active window is "%Title%".
-
- ; To fetch all info:
- SplitPath, Title, name, dir, ext, name_no_ext, drive
-
- if (name = "不让放桌面.exe")
- WinClose, ahk_id %nhWnd%
- }
-
- sleep, 1000
- }
-
- #Esc::
- ExitApp
- return
复制代码
作者: aa77dd@163.com 时间: 2016-10-3 23:40
回复 1# 我来了
对话框属于 explorer.exe , 那个程序没有进程, 而且 32770 是一类通用对话框
https://msdn.microsoft.com/en-us ... 4%28v=vs.85%29.aspx
作者: 我来了 时间: 2016-10-4 15:22
回复 7# aa77dd@163.com
回来我再制造些
内存错误,程序溢出,非法操作,程序被恶意修改
这类的东东,测试下你的玩法能不能通用?
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |