搜索
查看: 7936|回复: 7
打印 上一主题 下一主题

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

[复制链接]

65

主题

953

帖子

5336

积分

荣誉会员

Rank: 8Rank: 8

积分
5336
跳转到指定楼层
楼主
发表于 2011-8-29 08:35:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 qqmmcc 于 2011-8-29 22:59 编辑

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

使用道具 举报

6

主题

167

帖子

900

积分

荣誉会员

爱生活,爱拉芳。

Rank: 8Rank: 8

积分
900
沙发
发表于 2011-8-29 09:00:07 | 只看该作者

[i=s] 本帖最后由 quickerfans 于 2011-8-29 11:41 编辑 [/i] 第一时间查找到然后win.close它可以吗, 子窗体应

本帖最后由 quickerfans 于 2011-8-29 11:41 编辑

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

专注、深入。
回复

使用道具 举报

13

主题

67

帖子

552

积分

三级会员

Rank: 4

积分
552
板凳
发表于 2011-8-29 11:47:51 | 只看该作者

[i=s] 本帖最后由 yslookne 于 2011-8-29 12:04 编辑 [/i] hook掉那个载入的API函数。。 CreateWindowE

本帖最后由 yslookne 于 2011-8-29 12:04 编辑

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

使用道具 举报

40

主题

565

帖子

3043

积分

五级会员

超级初学者

Rank: 8Rank: 8

积分
3043
地板
发表于 2011-8-29 18:13:12 | 只看该作者

本进程可以用lujjh的apihook,其它进程暂时无解,需要你写一个dll让它载入,改写api 第一时间close效果不好,鼠标焦点会丢失。

本进程可以用lujjh的apihook,其它进程暂时无解,需要你写一个dll让它载入,改写api
第一时间close效果不好,鼠标焦点会丢失。
http://echong.taobao.com 各类话费充值,请多支持!
回复

使用道具 举报

75

主题

851

帖子

4971

积分

六级会员

The only one

Rank: 9Rank: 9Rank: 9

积分
4971
5#
发表于 2011-8-29 20:33:59 | 只看该作者

[color=#008000]//监视外部窗口的创建销毁,可以使用shellhook,例如: [/color][color=#000000] [/color

//监视外部窗口的创建销毁,可以使用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();

小时候,幸福是一件东西,拥有就是幸福; 长大了,幸福是一个目标,达到就是幸福; 成熟后,发现幸福原来是一种心态,领悟就是幸福.
回复

使用道具 举报

7

主题

61

帖子

352

积分

二级会员

Rank: 3Rank: 3

积分
352
6#
发表于 2017-3-15 11:37:53 | 只看该作者
做个标记
回复

使用道具 举报

7

主题

61

帖子

352

积分

二级会员

Rank: 3Rank: 3

积分
352
7#
发表于 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. }  
复制代码
回复

使用道具 举报

7

主题

61

帖子

352

积分

二级会员

Rank: 3Rank: 3

积分
352
8#
发表于 2017-3-15 11:51:37 | 只看该作者
就是这个提示:

~什么都会点,什么都不会~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2017-11-23 20:45 , Processed in 0.109375 second(s), 20 queries , WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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