aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 17530|回复: 7

求助个问题,怎么禁止某个进程弹出子窗口

[复制链接]

65

主题

881

回帖

5033

积分

荣誉会员

积分
5033
发表于 2011-8-29 08:35:42 | 显示全部楼层 |阅读模式
本帖最后由 qqmmcc 于 2011-8-29 22:59 编辑

程序点击之后会弹出一个子窗口,怎么禁止他弹出呢??或者是隐藏它也可以

6

主题

158

回帖

897

积分

荣誉会员

爱生活,爱拉芳。

积分
897
发表于 2011-8-29 09:00:07 | 显示全部楼层
本帖最后由 quickerfans 于 2011-8-29 11:41 编辑

第一时间查找到然后win.close它可以吗,
子窗体应该是程序通过给系统发画窗口的消息,系统才给他画出来 的吧,HOOK这个画窗口的消息不知道好不好实现。
winex.wait
win.close

13

主题

54

回帖

537

积分

三级会员

积分
537
发表于 2011-8-29 11:47:51 | 显示全部楼层
本帖最后由 yslookne 于 2011-8-29 12:04 编辑

hook掉那个载入的API函数。。  CreateWindowExA

40

主题

520

回帖

3035

积分

新手入门

超级初学者

积分
3035
发表于 2011-8-29 18:13:12 | 显示全部楼层
本进程可以用lujjh的apihook,其它进程暂时无解,需要你写一个dll让它载入,改写api
第一时间close效果不好,鼠标焦点会丢失。

75

主题

767

回帖

5045

积分

六级会员

The only one

积分
5045
发表于 2011-8-29 20:33:59 | 显示全部楼层
//监视外部窗口的创建销毁,可以使用shellhook,例如:

//监视窗口创建销毁

import win.ui;
/*DSG{{*/
var winform = win.form(parent=...; text="aardio Form";right=448;bottom=249 )
winform.add(
edit={ dr=1;dl=1;bottom=239;vscroll=1;right=437;left=8;multiline=1;top=13;text=
"";z=1;db=1;dt=1;edge=1;cls="edit" }
)
/*}}*/

//导入shellhook支持库
import win.util.shellhook

//创建shellhook窗口
shellhook = win.util.shellhook(winform)
shellhook.onShellHook=
function(hshell,hwnd){

   
//获取线程ID,进程ID
    var tid,pid = win.getThreadProcessId(hwnd)
   
if(tid== thread.getId()){
        
/*return 如果不想临视本线程在这里退出*/
    }
   
   
//判断钩子拦截到的消息类型
    select(hshell ) {
        
case 0x1/*_HSHELL_WINDOWCREATED*/ {  
            winform.edit.text +=   
"一个窗口创建"+hwnd+"进程ID:" + pid + "线程ID:" +tid + '\r\n    标题:' + win.getText(hwnd) + '\r\n\r\n'
        }
        
case 0x2/*_HSHELL_WINDOWDESTROYED*/{
            winform.edit.text +=
"一个窗口销毁"+hwnd+"进程ID:" + pid + "线程ID:" +tid  + '\r\n   标题:' + win.getText(hwnd) + '\r\n\r\n'
        }   
        
case 0x4/*_HSHELL_WINDOWACTIVATED*/{
            winform.edit.text +=
"一个窗口激活"+hwnd+"进程ID:" + pid + "线程ID:" +tid  + '\r\n   标题:' + win.getText(hwnd) + '\r\n\r\n'
        }
        
     }  
}

winform.show()
win.loopMessage();

10

主题

73

回帖

530

积分

三级会员

积分
530
发表于 2017-3-15 11:37:53 | 显示全部楼层
做个标记

10

主题

73

回帖

530

积分

三级会员

积分
530
发表于 2017-3-15 11:47:43 | 显示全部楼层
web页面的script执行window.close();时,web.form不关闭,ie默认返回提示“您查看的网页正在试图关闭窗口。是否关闭此窗口”


  1. var wb = web.form(winform
  2. ,0x40000/*_UIFLAG_THEME*/
  3. ,0x10/*_DLCTL_DLIMAGES*/ | 0x40000000/*_DLCTL_SILENT*/  
  4. );
  5. //wb.noScriptErr = true; //不提示脚本的异常,此项可屏蔽提示
  6. //方法一
  7. wb.BeforeNavigate2 = function( pDisp, url, flags, targetFrame, postData, headers, cancel ) {
  8.         if(flags=0)        winform.close()
  9.         return url, Flags, TargetFrameName, PostData, Headers,Cancel;
  10. }

  11. //方法二
  12. wb.WindowClosing = function( IsChildWindow, Cancel ) {
  13.         winform.close()
  14. }  
复制代码

10

主题

73

回帖

530

积分

三级会员

积分
530
发表于 2017-3-15 11:51:37 | 显示全部楼层
就是这个提示:

就是这个提示

就是这个提示

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2024-9-9 12:51 , Processed in 0.081714 second(s), 25 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表