wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure;
wincl.style = CS_DBLCLKS;
wincl.cbSize = sizeof (WNDCLASSEX);
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = MAKEINTRESOURCE (IDC_GETINFO1);
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground = (HBRUSH)(COLOR_WI
#include <windows.h>#include "resource.h" LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); HINSTANCE hInst;TCHAR szClassName[] = TEXT("getinfoDemo1"); int WINAPIWinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstanc.
12 子
类
化和超
类
化
回顾SDK
窗口
创建的过程。首先注册一个
类
,这里重要的是
类
名和
窗口
的回调函数,然后调用CreateWindow
Ex
创建
窗口
,创建时必须指定
类
名,实际上也是指定了
窗口
的回调函数。
windows操作系统内置了一些标准控件,供程序员
使用
。这些标准控件控件,不需要注册
类
名,系统已经帮你注册好,直接拿过来用就是了。比如按钮的
类
名是“BUTTON”,编辑框的
类
名是“
EDIT
”……,C...
介绍之前先让大家了解一下
win32
gui的模块用法和
获取
窗口
类
名工具
使用
Python时,有时也会要操作到系统
窗口
的一些东西,下面就介绍
win32
gui.Findwindow(param1,param2)方法查找
窗口
句柄参数及对应参数值如何
获取
win32
gui.Findwindow(param1,param2):param1需要传入
窗口
的
类
名,param2需要传入
窗口
的标...
我们知道一个窗体建立的过程.首先注册一个
wnd
Class
的结构体.然后才是用createWindow函数来建立窗体.现在有个问题了,我们想知道我们建立的
wnd
Class
结构体是否已经注册了,怎么办?
Get
Class
Info
就是用来解决这个问题的.
先看msdn中的东西.
TheGet
Class
Info
function retrieves
info
rmation about a wind...
要
获取
一个
窗口
的子
窗口
,可以
使用
win32
gui.EnumChildWindows函数遍历该
窗口
的所有子
窗口
,并
获取
它们的句柄。该函数的参数如下:
- h
wnd
Parent:要枚举子
窗口
的父
窗口
句柄。
- lpEnumFunc:回调函数,用于处理枚举到的每个子
窗口
。
- lParam:指定传递给回调函数的参数。可以是任意
类
型。
回调函数的定义如下:
```python
def callback(h
wnd
, lParam):
# 处理枚举到的子
窗口
h
wnd
return True # 继续枚举下一个子
窗口
在回调函数中,可以对枚举到的每个子
窗口
进行处理。如果要继续枚举下一个子
窗口
,需要返回True;如果要停止枚举,需要返回False。
以下是一个示例代码,
使用
win32
gui.EnumChildWindows函数
获取
记事本应用程序
窗口
的所有子
窗口
:
```python
import
win32
gui
# 查找记事本
窗口
句柄
h
wnd
_notepad =
win32
gui.FindWindow
Ex
(0, 0, "Notepad", "无标题 - 记事本")
if h
wnd
_notepad != 0:
# 找到了记事本
窗口
# 枚举子
窗口
def callback(h
wnd
, lParam):
# 处理枚举到的子
窗口
h
wnd
title =
win32
gui.GetWindowT
ex
t(h
wnd
)
print("子
窗口
标题:", title)
return True
win32
gui.EnumChildWindows(h
wnd
_notepad, callback, None)
else:
# 没有找到记事本
窗口
print("没有找到记事本
窗口
")
该代码通过在所有顶层
窗口
中查找
窗口
类
名为“Notepad”、
窗口
标题为“无标题 - 记事本”的
窗口
,来
获取
记事本
窗口
的句柄。如果找到了该
窗口
,则
使用
win32
gui.EnumChildWindows函数枚举该
窗口
的所有子
窗口
,并
获取
它们的标题,并输出。