Board logo

标题: [文件操作] 如何用程序关闭“程序与系统版本不兼容”的错误提示对话框窗口 [打印本页]

作者: 我来了    时间: 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 函数只能获取到 对话框的 按钮文本  "确定", 获取不到对话框显示的详细说明文本, 故此方式无法按错误信息类别作甄别
  1. loop {
  2.     WinGet, id, list, ahk_class #32770 ; get all windows (dialogs) with class #32770
  3.     Loop, %id%
  4.     {
  5.         nhWnd := id%A_Index%
  6.         WinGetTitle, Title, ahk_id %nhWnd%
  7.         ; MsgBox, The active window is "%Title%".
  8.         ; To fetch all info:
  9.         SplitPath, Title, name, dir, ext, name_no_ext, drive
  10.         if (name = "不让放桌面.exe")
  11.                 WinClose, ahk_id %nhWnd%
  12.     }
  13.     sleep, 1000
  14. }
  15. #Esc::
  16. ExitApp
  17. 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://www.bathome.net/) Powered by Discuz! 7.2