自上次发布 QQ消息自动发送器 也有一段时间了,一直没有写API相关的文章了,今天再发布一个做API相关开发的辅助小工具,以前也提到过,win32平台是基于消息message的机制,基本上所有的任务,都是可以利用消息捕获的。
说明:
在消息机制中,所谓的“窗口句柄”中的窗口,并不是指我们开发人员接触最多的Form,而是指所有的contorl,例如:Button, Label, select, treeview, menu, textbox 等等,而Form只是其中之一而已,不要混淆了这个概念
在做 windows API 相关开发的时候,工具是必不可少的,如: spy++ , winsight32 之类的,都可以直接看到窗口的句柄,但是这个句柄到底属于哪个窗口呢? 就不是那么一目了然了!
这时,我今天发布的这个小工具,就有用武之地了, ,使用的效果图:
如上图: 我们取到了QQ聊天窗口的输入消息的文本框的句柄,值: 800930, 利用 spy++ 的查找功能,我们很容易就定位到了该窗口的信息:
定位到该窗口以后,我们就可以清楚的看到该窗口所处的窗口树中的位置,对于后面用API去操作该窗口,就方便多了
这个小工具的实现思路和代码都很简单,只要是应用了三个API函数:
GetCursorPos: 获取屏幕鼠标的坐标
WindowFromPoint:获取屏幕坐标点处的窗口的句柄
SetWindowPos: 设置本小工具,启动后不自动获得焦点
Point p;
if (NativeMethods.GetCursorPos(out p))
{
//获取鼠标处的window的handle
IntPtr hwndCurWindow = NativeMethods.WindowFromPoint(p);
//转为16进制显示
this.Text = string.Format("句柄:{0}", hwndCurWindow.ToString("X"));
}
原文地址:
http://www.zu14.cn/2009/01/06/csharp-get-window-handle-from-cursor/
分享到:
相关推荐
一个简单的案例C#如何获取鼠标处窗口句柄,程序嵌入桌面开发
C#通过进程名获取窗口句柄,也可以获取当前窗口句柄。本人在c#2013测试通过。
c#已知窗口句柄获取窗口标题的方法,让你通过已知的窗口句柄获取窗口标题
易语言鼠标获取窗口句柄源码。@资源源码站。
调用API,通过鼠标指针所在的位置获取鼠标所在的窗口的句柄和类名,网上有很多实例。
动态捕获Windows窗口句柄工具。 Inspect 支持无焦点窗口捕获,可动态实时监听当前系统打开的窗口,并获取窗口的详细信息。 可以很方便的对软件进行模拟操作。。。 DDDD 动态捕获Windows窗口句柄工具。 Inspect 支持...
通过窗口名获取程序所有控件句柄,并绘制句柄结构树。
Microsoft Visual Studio 2010做的C#获取鼠标所在位置的窗口句柄名称和文字及位置实例,主要代码: [StructLayout(LayoutKind.Sequential)]//定义与API相兼容结构体,实际上是一种内存转换 public struct POINTAPI ...
鼠标获取窗口句柄, 有一个DLL文件, 请保持和应该程序在同一目录下,或复制到Windows\System32下。
Microsoft Visual Studio 2010做的C#获取鼠标点取窗口的位置、句柄、窗口名、窗口标题栏文字实例,主要代码: string sShow = "请点击确定后,点击窗口的标题栏。"; MessageBox.Show(sShow); mh = new MouseHook(); ...
根据窗口名称获取窗口句柄,通过句柄对窗口截图并保存,源码真实可用!
c#获取窗体句柄模拟鼠标点击实例2012年8月20日23:48:21,代码清楚,有详细注释,希望对大家有用
易语言窗口句柄获取工具源码,一款窗口句柄获取工具。启动本程序后,把鼠标移动到您需要获取的窗口。
易语言鼠标获取窗口句柄源码,鼠标获取窗口句柄,鼠标取窗口句柄,取光标坐标,API_ScreenToClient,API_取子窗口句柄,API_WindowFromPoint,API_俘获鼠标,API_取鼠标位置,PostMessage
窗口句柄获取工具
只是一个工具,给你们看看效果,如果要代码,评价里面留邮箱!
C#查找窗口句柄,方便操作窗口。传递数据等。用windows API。WINDOWS上的好资源,早下载早受益。做开发离不了。
获取窗口句柄 易语言源码 窗口句柄获取
自己用易语言写的窗口句柄获取小工具,包含窗口句柄/鼠标XY值/RGB/颜色值