繁体   English   中英

从Spy ++窗口获取文本

[英]Get text from Spy++ window

我正在尝试使用c ++从spy ++的“消息”窗口获取文本。

我试图将WM_GETTEXTLB_GETMESSAGE消息发送到窗口及其子级,并且无法正常工作。

该代码在记事本上进行了测试,并且工作正常,那么该怎么做呢?

我将此函数称为EnumChildWindows(spyHwnd,EnumChildProc,1); // spyHwnd是“消息”窗口的句柄

BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam)
{
  TCHAR text[40];
  int length = 0;
  int index = 5;
  length = SendMessage(hwnd,LB_GETTEXT,index,(LPARAM)text);//or WM_GETTEXT & maxLength=40

  return true;
}

您要查找的窗口具有“ AfxWnd80u”类。 我很确定它是所有者绘制的。 除了绘画和鼠标相关的消息外,它似乎没有收到其他任何消息。 所有者绘制意味着Spy ++将文本存储在内部某个位置,然后手动绘制窗口画布。

如果在同一列表中打开“消息属性”窗口,则可以看到正在使用的标准列表框控件。 它显然具有不同的行为-选择看起来不同,滚动更顺畅(这是不充分的证据,因为这些东西可以自定义,但仍然有些说服力-为什么您会在一个应用程序中做不同的事情?)

如果在网上搜索“获取文本AfxWnd”,则会看到很多没有答案的问题。 有些方法可以模拟Ctrl + C并获取剪贴板内容,但是“ Spy ++消息”窗口似乎不支持Ctrl + C。

因此,这里没有简单的WinAPI方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM