|
临时修改前台任意窗口标题采用的是 SetWindowTextA,当我们关闭了进程,重新创建进程时,标题是不会变化的,我们称之为临时改变标题,要想永久改变,就得取的原来标题所占字节集的长度,再替换字节集,最后写出新的文件。这里我们分别学习这两种方法和源码。这里修改标题,并不是指自身,相反,编译后自身是的标题是无法修改的,是指其他进程的窗口标题,调试时可以修改自身的标题。
临时修改用到的API,前提是前台没有窗口标题重复的进程。
封装修改子程序和调用:
|
修改窗口标题 | 逻辑型 | | |
原窗口标题 | 文本型 | | | | 新标题 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 句柄 | 整数型 | | | 临时标题 | 文本型 | | |
句柄 = 窗口_取句柄ExA (, , , 原窗口标题 ) 如果 (句柄 ≠ 0 ) 如果 (SetWindowTextA (句柄, 新标题 ) ≠ 0 ) 返回 (真) 返回 (假)  返回 (假) 输出调试文本 (修改窗口标题 (“呵呵”, “123”)) |
窗口_取句柄ExA | 整数型 | √ | |
父窗口句柄 | 整数型 | | √ | | 子窗口句柄 | 整数型 | | √ | | 窗口类名 | 文本型 | | √ | | 窗口标题 | 文本型 | | √ | | 返回 (FindWindowExA (父窗口句柄, 子窗口句柄, 窗口类名, 窗口标题 ))
临时修改的还可以这样封装
永久写入修改标题:
|
永久修改标题 | | | |
参_原程序地址 | | | | | 参_原程序标题 | | | | | 参_新程序标题 | | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 文件字节集 | 字节集 | | | 标题位置 | 整数型 | | | 补空字节集 | 字节集 | | | 原来长度 | 整数型 | | | 改后长度 | 整数型 | | |
文件字节集 = 读入文件 (参_原程序地址 )标题位置 = 寻找字节集 (文件字节集, 到字节集 (参_原程序标题 ), )原来长度 = 取字节集长度 (到字节集 (参_原程序标题 )) 改后长度 = 取字节集长度 (到字节集 (参_新程序标题 )) 补空字节集 = 取空白字节集 (原来长度 - 改后长度 )文件字节集 = 字节集替换 (文件字节集, 标题位置, 原来长度, 到字节集 (参_新程序标题 ) + 补空字节集 )写到文件 (参_原程序地址, 文件字节集 )
源码下载,包括临时的两种和永久修改的方法:
链接:https://pan.baidu.com/s/1BpPPs9opCzgMvkZ832sHPw
提取码:0v0w
解压密码:(回复可见)
|
|