gpt4 book ai didi

c - EM_GETLINE 错误 C++ 从文本框获取最后一行

转载 作者:太空宇宙 更新时间:2023-11-04 07:41:31 24 4
gpt4 key购买 nike

我在使用 EM_GETLINE 时遇到了一个小问题。我有一个文本框,我想从中提取文本。该框一直在更新(这是一个不断更新的日志文件,最后一条消息在底部)。我只想要最后一行。

我的代码:

        HWND hwnd = (HWND)0x00020A72;
TCHAR param[1000];
char display[1000];
LONG lResult;
lResult = SendMessage( hwnd, WM_GETTEXT, 500, (LPARAM)param);
//lResult = SendMessage( hwnd, EM_STREAMOUT, SF_RTF, (LPARAM)param);
//lResult = SendMessage( hwnd, EM_GETLINE, 1, (LPARAM)param);
wcstombs(display, param, 1000);

printf( " %s\n", display );

如您所见,我已经尝试了 WM_GETTEXT(有效)。使用 GETLINE 时,它编译良好 (VS2010express) 但返回垃圾。

非常感谢您的帮助。感谢收听。

最佳答案

这个窗口属于另一个进程,对吧?我可以看到您对窗口句柄进行了硬编码。不太确定消息是否会跨进程边界自动编码,只有系统消息是 (WM_Xxx < 0x400)。

自己编码需要 OpenProcess、VirtualAllocEx 分配缓冲区、WriteProcessMemory 初始化它、SendMessage、ReadProcessMemory 读取缓冲区。加上清理。

关于c - EM_GETLINE 错误 C++ 从文本框获取最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3634298/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com