你好,
1、读取windows窗口,应该要用系统编程的知识实现接口,然后python调用
python 没有直接能实现该功能的模块
2、或者,你需要调用win32 api了已经不是python的标准范围
你可以看看 Pywin32 这个扩展库
你是想模拟按键么
首先要获得窗口的句柄
用下面的函数应该能找到:
FindWindow根据类名\窗口标题寻找窗口
遍历顶层窗口EnumWindows
遍历窗口回调函数EnumWindowProc
遍历父窗口的所有子窗口EnumChildWindows
返回父窗口Point处的子窗口ChildWindowFromPoint
ChildWindowFromPointEx多一个参数UINT来忽略不可见无效透明的子窗口
获取与指定窗口具有莫种关系的窗口GetWindow
获取父窗口的子窗口中Z序最大的子窗口GetTopWindow
获取指定窗口相同层次Z序差1的窗口GetNextWindow
获取桌面窗口句柄GetDesktopWindow
用SendMessage函数不需要窗口标题的,只要句柄
LRESULT
SendMessage(
HWND
hWnd,
//
handle
of
destination
window
UINT
Msg,
//
message
to
send
WPARAM
wParam,
//
first
message
parameter
LPARAM
lParam
//
second
message
parameter
);
或者用keybd_event函数,要先用SetForegroundWindow函数把目标窗口设置成前台窗口
VOID
keybd_event(
BYTE
bVk,
//
virtual-key
code
BYTE
bScan,
//
hardware
scan
code
DWORD
dwFlags,
//
flags
specifying
various
function
options
DWORD
dwExtraInfo
//
additional
data
associated
with
keystroke
);
补充:
第一个:我进入某个游戏,用CE查到内存地址后,退出游戏,再查内存地址,两个内存地址是不一样的,有什么办法可以让每次的内存地址都一样?或者说下别的解决方法?
不让每次的内存地址都一样应该是做不到的,游戏每次运行由系统分配内存,哪能让你控制啊。
第二个:我想让鼠标在内存数值到某一个数值时,鼠标移动到某点进行鼠标 *** 作,该怎么写源代码?
定义一个指针变量p,类型根据你需要的数值而定
p=该内存地址
if(p==该数值)
{
//mousemove
}
窗口句柄是一个整数,但是你命令里面用的大概是窗口标题吧?反正不是整数型的窗口句柄,自然会出现错误提示我感觉你是没弄清窗口句柄的概念,推荐你上百度搜索下窗口句柄看看 追问: 恩 大侠 求救。我是用api FindWindow 定义给句柄2的 句柄2=去窗口类名 却编程参数过多了。 我都傻了 定义2数进不去不行了。 算了 你们继续看下题目 我改下 回答: 有点没看懂你的意思。根据你问题的补充,我写了下代码,你看API是用易语言向导的API助手导入的,就是你用的 FindWindow 。
Hwnd = PluginWindowFind("WindowsForms10Window8app033c0d9d", "BlueStacks App Player")
这个比较麻烦了
你需要观察你这个窗口有没有什么别的唯一的特点了
给你指个道
第一种:遍历窗口,看看能不能从你这个游戏窗口的父窗口或者子窗口上找线索
第二种:找游戏窗口中的特征,移动鼠标到特征位置后取窗口句柄
以上就是关于Python 如何获得一个Windows程序窗口,并在窗口里的当前全部的内容,包括:Python 如何获得一个Windows程序窗口,并在窗口里的当前、按键精灵8,获取句柄有些只有窗口类名,没有窗口标题,该怎么办、易语言取窗口类名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)