极速下载站 —— 提供优质软件下载服务,感受全新的极速下载体验!

最近更新 | 软件专题 | 软件分类 | 软件排行

您的位置:极速下载站资讯首页软件教程电脑软件教程 → Findwindow函数用法

Findwindow函数用法

时间:2021-01-12 13:18:17  作者:无名  浏览量:56

Findwindow函数用法首先FindWindow只是用来寻找某个窗体的,读写其他进程数据是另有方法的;所有操作系统都提供了读写其他进程内存数据的API,只是看你是否有权限读写,以及读写后的后果由你承担;一个最简单的例子,如果一个进程无法读另外一个进程的内存数据,那调试器如何工作,小编给大家介绍说说怎么使用吧。
1.函数说明:
FindWindow。Win32 API函数。
FindWindow函数返回与指定字符串相匹配。窗口类名或窗口名的最顶层窗口的窗口句柄;这个函数不会查找子窗口。
2.函数原型:
HWND FindWindow(
LPCTSTR lpClassName,
LPCTSTR lpWindowName        
);
3.参数说明:
lpClassName
指向一个以null结尾的、用来指定类名的字符串或一个可以确定类名字符串的原子;如果这个参数是一个原子,那么它必须是一个在调用此函数前已经通过GlobalAddAtom函数创建好的全局原子;这个原子(一个16bit的值),必须被放置在lpClassName的低位字节中,lpClassName的高位字节置零。
lpWindowName
指向一个以null结尾的、用来指定窗口名(即窗口标题)的字符串;如果此参数为NULL,则匹配所有窗口名。
4返回值:
如果函数执行成功,FindWindowA则返回值是拥有指定窗口类名。或窗口名的窗口的句柄。
如果函数执行失败,FindWindowA则返回值为 NULL;可以通过调用GetLastError函数获得更加详细的错误信息。
5.使用示例:
HWND hWndRcv = ::FindWindow(NULL,“123“);
if(hWndRcv != NULL)
{
   AfxMessageBox(“找到123窗口“);
}
C#中
导入库:user32.lib
头文件:winuser.h
***.Net 中运用
命名空间 using System.Runtime.InteropServices;
导入库 [DllImport(“user32.dll“)]
函数原型 public static extern IntPtr FindWindow。(string lpClassName,string lpWindowName);
参数说明 lpClassName String.指向包含了窗口类名的空中止(C语言)字串的指针;或设为零,表示接收任何类
lpWindowName String.指向包含了窗口文本(或标签)的空中止(C语言)字串的指针。或设为零,表示接收 任何窗口标题
返回值 :句柄
绕过所有用户层HOOK模拟FindWindow函数。
分析API函数原理
FindWindowA最外层流程:
Findwindow函数用法
Findwindow函数用法图1
进入CALL USER32.77D28242:
Findwindow函数用法
Findwindow函数用法图2
进入CALL USER32.77D2C7AC (NtUserFindWindow):
Findwindow函数用法
Findwindow函数用法图3
Findwindow函数用法
Findwindow函数用法图4
进入CALL ntdll.KiFastSystemCall:
Findwindow函数用法
Findwindow函数用法图5
Findwindow函数用法
Findwindow函数用法图6

FindWindow 1.2.0.0

FindWindow图片
  • 软件性质:国外软件
  • 授权方式:免费版
  • 软件语言:英文
  • 软件大小:45 KB
  • 下载次数:656 次
  • 更新时间:2021/1/12 16:30:39
  • 运行平台:WinXP,Win7...
  • 软件描述:查找文本(标题)和/或类名的窗口,并返回系统处理,并选择性地闪烁窗口和/或把它带... [立即下载]