Windows API EnmuWindows的学习使用

  最近一直在纠结EnmuWindows的使用方法,后来才搞明白,现将自己测试用的代码贴出来,下面对代码做一个解释。

 1 #include<windows.h>
 2 #include<string>
 3 /****************************************************************************
 4 当你调用完EnumWindows(EnumWindowsProc ,NULL );后。系统自动会枚举所有的窗口
 5 每当枚举到一个窗口,就会自动进入EnumWindowsProc,你可在函数里利用hWnd句柄处理
 6 你要做的事情,比如获取窗口标题。当执行完你自己需要处理的代码后,退出函数。系统又
 7 会枚举下一个窗口,当获得下一个窗口后,又会再次进入EnumWindows(EnumWindowsProc ,NULL )
 8 ****************************************************************************/
 9 BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam)
10 {
11     if (GetParent(hWnd) == NULL  &&  IsWindowVisible(hWnd))  //判断是否顶层窗口并且可见
12     {//在这个函数中可以进行你需要的操作
13         char WindowTitle[100];
14         ::GetWindowText(hWnd, WindowTitle, 100);//获取WindowTitle
15         if (strcmp(WindowTitle, (char *)lParam) == 0)//如果两个字符串相同
16         {
17
18             ::MessageBox(NULL, WindowTitle, NULL, MB_OK);//如果匹配上以对话框的形式打印出来
19             //停止枚举返回false
20             return false;
21         }
22     }
23     return true;
24 }
25  int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
26 {
27     char TestTitle[100] = "httpd";//为了方便我在这里设置了字符串为窗口的WinCaption
28     EnumWindows(EnumWindowsProc, (LPARAM)TestTitle);//第一个参数是回调函数,第二个是回调函数的第二个参数。
29
30 }

BOOL EnumWindows( WNDENUMPROC lpEnumFunc, LPARAM lParam );该函数枚举所有屏幕上的顶层窗口,并将窗口句柄传送给应用程序定义的回调函数,其中lParam是传递给lpEnumFunc的参数。回调函数返回FALSE将停止枚举,否则EnumWindows函数继续到所有顶层窗口枚举完为止。

这个例子的功能是在main函数输入一个窗口的WinCaption,也就是你想要查找的窗口的WinCaption,然后枚举所有的桌面窗口调用EnumWindowsProc函数,直到找到所要查找的窗口时用MessageBox()函数将Wincaption的名字显示出来。停止枚举。就是这么简单,本程序创建一个win32应用程序,可以直接运行。在vs2015上测试通过。

时间: 2024-07-30 05:19:06

Windows API EnmuWindows的学习使用的相关文章

windows API 核心编程学习心得

一.错误处理 在内部,当windows函数检测到错误时,它会使用“线程本地存储区”的机制将相应的错误代码与“主调线程”关联到一起. winError.h 一般在C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include这个目录下面. 每个错误都有三种表示: 1.一个消息ID 2.消息文本 3.一个编号 要查看具体是什么错误,请调用GetLastError函数. Error lookup 软件用来查看消息编号对应的错误消息文本. FormatMess

Windows API 编程学习记录&lt;二&gt;

恩,开始写Windows API编程第二节吧. 上次介绍了几个关于Windows API编程最基本的概念,但是如果只是看这些概念,估计还是对Windows API不是很了解.这节我们就使用Windows API 让大家来了解下Windows API的用法. 第一个介绍的Windows API 当然是最经典的MessageBox,这个API 的作用就是在电脑上显示一个对话框,我们先来看看这个API的定义吧: int WINAPI MessageBox(HWND hWnd, LPCTSTR lpTe

Windows API 编程学习记录&lt;三&gt;

恩,开始写API编程的第三节,其实马上要考试了,但是不把这节写完,心里总感觉不舒服啊.写完赶紧去复习啊       在前两节中,我们介绍了Windows API 编程的一些基本概念和一个最基本API函数 MessageBox的使用,在这节中,我们就来正式编写一个Windows的窗口程序. 在具体编写代码之前,我们必须先要了解一下API 编写窗口程序具体的三个基本步骤:             1. 注册窗口类:             2.创建窗口:             3.显示窗口: 恩,

Windows API 学习指南

1.WindowsAPI开发入门2.Windows数据类型3.Windows数据类型与WindowsAPI函数4.Windows数据结构5.将系统目录信息写入文件6.窗口创建以及消息处理7.使用对话框资源创建窗口8.使用MFC创建对话框窗口9.宽字符10.三种版本11.字符转换12.遍历卷13.驱动器属性14.磁盘容量15.文件操作的四种方法16.文件操作(一)17.文件操作(二)18.目录操作(一)19.目录操作(二)20.目录操作(三)21.文件属性和时间22.内存映射文件23.系统信息(一

Windows API的消息处理机制

上个学期找实习失利,让我觉得自己基础打得不够牢固,所以在华为实习的这三个月里,每天下班都在复习理论课的知识,顺便刷了一个月的 LeetCode.本来以为找工作是势在必得了,结果这个学期秋季校招的坑爹经历导致现在还没有拿到一家公司的 offer.华为实习一结束,回学校的第二天就去参加了 360 在广州的笔试,进了面试以后却又喜闻乐见地一面就被干掉了.再加上之前 milo yip 大大对我提的建议,思来想去,感觉还是自己的简历不够拿得出手.现在开始都没剩下几家想进的公司了,为了不失业只能提早为明年的

[转]Windows平台下Makefile学习笔记

Windows平台下Makefile学习笔记(一) 作者:朱金灿 来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发现一些开源代码已经在使用VS2010开发,但我还没安装VS2010,我想在VS2008下编译这些代码):另一方面源码在服务器端编译的话,使用IDE的方式编译还是不太方便. 本文主要分为三部分:第一部分讲述namke工具使用makefile的用法:第二部分讲述makefile的主要语法:

初识【Windows API】

最近学习操作系统中,老师布置了一个作业,运用系统调用函数删除文件夹下两个重复文本类文件,Linux玩不动,于是就只能在Windows下进行了. 看了一下介绍Windows API的博客: 点击打开 基本就开始动手了. 主要利用的函数其实就那么几个: CreateFile      创建.打开文件ReadFile        读取文件内容DeleteFile      文件删除FindFirstFile   查找指定目录下的第一个文件FindNextFile   查找下一个文件GetFileAt

Windows API中的数据结构

值得说明的是,win32开发是C语言编程,因此,搞明白数据类型还是非常重要的.Windows API因为历史原因或者为了方便在windows.h中将一些数据类型用typedef或者define宏重新进行定义. UINT表示C语言中的无符号整型unsigned int PSTR表示字符串指针char * WPARAM在16位时期的Windows中表示unsigned short int,而现在都是UINT LPARAM表示long WndProc函数的返回类型LRESULT实际上就是long 入口

Windows API参考大全新编

书名:新编Windows API参考大全 作者:本书编写组 页数:981页 开数:16开 字数:2392千字 出版日期:2000年4月第二次印刷 出版社:电子工业出版社 书号:ISBN 7-5053-5777-8 定价:98.00元 内容简介 作为Microsoft 32位平台的应用程序编程接口,Win32 API是从事Windows应用程序开发所必备的.本书首先对Win32 API函数做完整的概述:然后收录五大类函数:窗口管理.图形设备接口.系统服务.国际特性以及网络服务:在附录部分,讲解如何