吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 976|回复: 14
收起左侧

[讨论] 给一个winform程序exe怎么查找每个弹窗,界面甚至按键选项所使用的字符串是什么

[复制链接]
fragilebanana16 发表于 2022-11-1 22:16
是不是有一种工具可以专门查找应用的句柄,查看内部的结构,甚至这种工具可以自己实现?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| fragilebanana16 发表于 2022-11-1 22:19
Spy++?
 楼主| fragilebanana16 发表于 2022-11-1 23:12
lushihao 发表于 2022-11-2 09:21
limit7 发表于 2022-11-2 10:29
就是SPY++啊,我一直用这个
快乐的鸡蛋黄 发表于 2022-11-2 11:08
SPY++,网上还有别人写的易语言小工具什么的
 楼主| fragilebanana16 发表于 2022-11-2 19:29
limit7 发表于 2022-11-2 10:29
就是SPY++啊,我一直用这个

请问如何获取某个字符串显示的大小位置这些信息,甚至修改成英文的字符串呢
limit7 发表于 2022-11-3 18:42
fragilebanana16 发表于 2022-11-2 19:29
请问如何获取某个字符串显示的大小位置这些信息,甚至修改成英文的字符串呢

大小和位置不清楚,你说的这些功能用C#调用windows api很好实现
类似下面这种
BOOL SetWindowText(HWND hwnd,LPCTSTR lpString);
wangtk1982 发表于 2022-11-3 21:15
EnumWindows枚举窗口就可以。EnumChildWindows枚举子窗口。例子网上很多
Huanghousec 发表于 2022-11-4 03:09
一、通过工具实现
spy++(最底下图片)
二、通过代码实现

1、第一种方法

void CMFCApplication8Dlg::OnBnClickedButton1()
{
        // TODO: 在此添加控件通知处理程序代码
        //SendMessage(WM_TEST_MSG);

        TCHAR titletxt[MAX_PATH] = { 0 };
        HWND hwnd =  ::GetWindow(::GetDesktopWindow(), GW_CHILD);
        while (hwnd!=0)
        {
                ::GetWindowText(hwnd, titletxt, MAX_PATH);         //获取窗口句柄的标题        
                CString strtxt = titletxt;
                if (strtxt.GetLength()>0)m_list.AddString(strtxt);
                hwnd = ::GetWindow(hwnd, GW_HWNDNEXT);
        }
}

2、第二种方法Findwindow (可以查找一个窗口的子窗口)

void CMFCApplication8Dlg::OnBnClickedButton1()
{
        // TODO: 在此添加控件通知处理程序代码
        //SendMessage(WM_TEST_MSG);

        TCHAR titletxt[MAX_PATH] = { 0 };
        HWND hwnd = ::FindWindow(NULL, NULL);           //传递窗口类名和窗口标题
        while (hwnd!=0)
        {
                ::GetWindowText(hwnd, titletxt, MAX_PATH);         //获取窗口句柄的标题        
                CString strtxt = titletxt;
                if (strtxt.GetLength()>0)m_list.AddString(strtxt);
                hwnd = ::FindWindowEx(0,hwnd,NULL,NULL);           //第一个参数查找父窗口的第几个窗口,这里的0代表第一个窗口;第二个参数是父窗口,第三个和第四个参数都是窗口类名和窗口标题
        }
}

3、第三种EnumWindows 枚举(我没有写)

image.png
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 05:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表