Spy++抓去子窗口句柄问题

问题描述

各位大神:C#写的抓取程序ABC子窗口句柄程序,在A电脑上调试OK,换到B电脑运行后,调试失败。用Spy++查找原因,发现该程序ABC在A电脑上,可以用spy++抓取到子窗口句柄,而在B电脑上却只能抓到父窗口句柄,抓取不到子窗口句柄,程序ABC是一样的,不一样的只是win7系统版本和电脑硬件配置,问下各位大神,这是为什么?怎么解决这种问题?我用的FindWindow(parent句柄,子窗口序号,...)API来进行子窗口抓取的。(注:程序ABC、电脑A、电脑B只是代号,为了方便描述)

解决方案

时间: 2024-09-24 05:21:59

Spy++抓去子窗口句柄问题的相关文章

子窗口句柄-子窗口如何获取另一个子窗口的句柄

问题描述 子窗口如何获取另一个子窗口的句柄 将一个窗口分割成两个对话框后,如何在一个子窗口上获取另一个子窗口的句柄 解决方案 对话框创建以后在OnInitDialog中将自身句柄放在全局变量中(甚至你可以放自身对象实例过去) 这样不需要api就能调用 解决方案二: 可以FindWindow或者通过主框架来交互,主框架保存所有窗口句柄 解决方案三: 首先查询到父窗口句柄,之后遍历所有子窗口,通过类或者其它标记确定所需要查找的子窗口就行了

VB 子窗体被PictureBox控件挡住无法显示

1.问题描述         VB做机房收费系统的时候,用的MDI主窗体,在主窗体上加了一个Picturebox控件,运行的时候,点了子窗体,但是却没有出现,后来才发现,子窗体被Picturebox控件给当在了后面.   2.问题原因      在MDI程序中,子窗体实际位于MDIClient里,就是说,子窗体的父窗体是MDIClient,而PictureBox和MDIClient属于同一级的    层次结构    ThunderMDIForm-MDIForm1    --MDIClient  

Windows按键突破专家的原理

相信在window按键突破专家没有出来的时候,很多人还不知道软件还可以这样编的吧,本人也是一样,当知道有window按键突破专家这个软件时,仔细去想一下它的实现原理,才突然恍然大悟,原来原理居然是这么的简单,为什么以前我就没有想到呢. 好了,不说那么多废话,直接进入主题,我先是说说按键突破的原理.实现按键突破的其实就是EnableWindow这个函数. BOOL EnableWindow( HWND hWnd, BOOL bEnable ); hWnd 指定将要启用或者禁用的窗口的句柄: bEn

windows常用 API函数

系统API查询 http://www.vbgood.com/api.html http://hi.baidu.com/3582077/item/9cc3483b581f53c5392ffae3 第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄, 这个函数的定义是这样的 HWND WINAPI FindWindow(LPCSTR lpClassName,LPCSTR lpWindowName);第一个参数填窗口的类名,第二个填窗口的标题名,其实是不需要同时

windows常用API函数

系统API查询 http://www.vbgood.com/api.html http://hi.baidu.com/3582077/item/9cc3483b581f53c5392ffae3 第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄, 这个函数的定义是这样的 HWND WINAPI FindWindow(LPCSTR lpClassName,LPCSTR lpWindowName);第一个参数填窗口的类名,第二个填窗口的标题名,其实是不需要同时

C# 系统应用之鼠标模拟技术及自动操作鼠标

游戏程序的操作不外乎两种--键盘输入控制和鼠标输入控制,几乎所有游戏中都使用鼠标来改变角色的位置和方向,本文主要是讲述如何使用C#调用Windows API函数实现鼠标模拟操作的功能.首先通过结合FindWindow和FindWindowEx寻找到窗体的按钮,在通过SetCursorPos或mouse_event函数操作鼠标,同时涉及到通过spy++工具获取窗体消息的信息. 一. Windows API函数介绍 .NET没有提供改变鼠标指针位置.模拟单机操作的函数,但是可以通过调用Windows

窗口分析

(本文尝试通过一些简单的实验,来分析Windows的窗口机制,并对微软的设计理由进行一定的猜测,需要读者具备C++.Windows编程及MFC经验,还得有一定动手能力.文中可能出现一些术语不统一的现象,比如"子窗口",有时候我写作"child window",有时候写作"child",我想应该不会有太大影响,文章太长,不一一更正了) 问题开始于我的最近的一次开发经历,我打算把程序的一部分界面放在DLL中,而这部分界面又需要使用到Tooltip,但

window.open的例子和使用方法以及参数说明

window 一.window.open()支持环境: JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+ 二.基本语法: window.open(pageURL,name,parameters) 其中: pageURL 为子窗口路径 name 为子窗口句柄 parameters 为窗口参数(各参数用逗号分隔) 三.示例: <SCRIPT> <!-- window.open ('page.html','newwindow','height=100,

Delphi用hook实现dll注入详解

需要一个用来注入的dll(inject.dll)及一个调用程序(caller.exe) 流程: caller.exeprocedure TestHook;var pwnd,hChild, hwndInject :hwnd; msg:tmsg;begin //通过窗口标题用FindWindow找到要注入的程序的主窗口句柄pwnd pwnd := findwindow('Progman',nil); //用FindwindowEx(hMain,0,nil,nil)找到要处理的子窗口句柄hChild