python修改游戏数据_python1.2-----pywin32模块/语音合成,窗口闪烁以及修改游戏数据的技巧...

本文介绍了如何使用Python的pywin32模块进行语音合成、窗口操作(包括闪烁和位置调整)以及通过内存修改器如CE来改变游戏数据。涉及到的库包括win32com.client、win32gui等,并提供了具体代码示例,如修改植物大战僵尸的能量值。
摘要由CSDN通过智能技术生成

在使用这些技巧前,需要下载模块:pywin32 ,可以在cmd窗口输入:pip install pywin32进行下载

语音合成:

import win32com.client   #系统的客户端模块,win32com.client 模块在pywin32下载后就可以引入了。

dehua=win32com.client.Dispatch('SAPI.SPVOICE')

dehua.Speak('翻译成语音的文本')

窗口闪烁:

#窗口闪烁的前提是会操纵窗口,操纵窗口的软件可以下载my spy.exe,进入myspy.exe,将右边的图标拖到窗口的位置获取窗口的信息。只需要找到标题和类即可.

#操纵窗口

import win32con

import win32gui    #在安装pywin32后即可使用这两个模块

#找到窗口

QQWin=win32gui.FindWindow('窗口的类名','窗口的标题名')

#隐藏窗口

win32gui.ShowWindow(QQWin,win32con.SW_HIDE)

#显示窗体

win32gui.ShowWindow(QQWin,win32con.SW_SHOW)

#一个使打开的窗体持续闪烁的程序:(在打开一个窗口前,执行该程序,当打开一个窗口后,窗口会持续闪烁)

import win32con

import win32gui

import time

while 1:

QQWin=win32gui.FindWindow('窗口的类名','窗口的标题名')   #QQWin就是操纵的窗口

win32gui.ShowWindow(QQWin,win32con.SW_HIDE)   #令窗口隐藏

time.sleep(1)    #隐藏1秒

win32gui.ShowWindow(QQWin,win32con.SW_SHOW)#令槽口出现

time.sleep(1)     #现身一秒

2.控制窗体的位置和大小

#参数1:控制的窗体

#参数2:大致方位,HWND_TOPMOST上方

#参数3:位置x

#参数4:位置y

#参数5:窗体的长度

#参数6:窗体的宽度

控制窗口随机移动:

while 1:

x=random.randrange(900)

y=random.randrange(600)

win32gui.SetWindowPos('窗体名',win32con.HWND_TOPMOST,x,y,300,300,win32con.SWP_SHOWWINDOW)

游戏数据修改:

在修改游戏数据前需要下载CE修改器之类的内存修改器

#进程模块

import win32process : #进程模块

import win32con

import win32gui #窗口

import win32api

import ctypes #做一些c语言的类型转换

#最高权限:

PROCESS_ALL_ACCESS=(0x00F00000|0x00100000|0xFFF)

#找窗体:

win=win32gui.FindWindow('窗口的类名','窗口的标题名')

#根据窗体找进程号:

hid,pid=win32process.GetWindowThreadProcessId(win)

#以最高权限打开进程:

p=win32api.OpenProcess(PROCESS_ALL_ACCESS,False,pid)#p为打开的进程

md=ctypes.windll.LoadLibrary(r'C:\Windows\System32\kernel32') #加载内核模块

data=ctypes.c_long()

#读取内存

md.ReadProcessMemory(int(p),0x用内存软件找到的相应的内存地址,ctypes.byref(data),4,None) #把内存里面的值拿出到data里面

newData=cytpes.c_long(10000)#新值

md.WriteProcessMemory(int(p),用内存软件找到的相应的内存地址,ctypes.byref(newData),4,None) #修改,4表示写4个字节。

例如:#本人用此方法修改植物大战僵尸的能量值,直接改成666

import win32process

import win32con

import win32api

import win32gui

import ctypes

PROCESS_ALL_ACCESS=(0x000F0000|0x00100000|0xFFF)

win=win32gui.FindWindow('MainWindow','Plants vs. Zombies')

hid,pid=win32process.GetWindowThreadProcessId(win)

p=win32api.OpenProcess(PROCESS_ALL_ACCESS,False,pid)

md=ctypes.windll.LoadLibrary(r'C:\Windows\System32\kernel32')

data=ctypes.c_long()

md.ReadProcessMemory(int(p),0x14E2C268,ctypes.byref(data),4,None)

newData=ctypes.c_long(666)#新值

md.WriteProcessMemory(int(p),0x14E2C268,ctypes.byref(newData),4,None)

修改游戏数据更简便的方法:在ce修改器里面直接找到相关内存,右键修改内存数据即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值