1

我需要从某个 win 应用程序(不是我的)接收数据。此时应用程序窗口可能处于非活动状态。我需要的数据在表中表示,因此我无法使用 WM_GETTEXT、WM_COPY,因为它们仅从 texboxes、textareas 等中检索文本。我可以在此表中手动进行选择,我所需要的只是从该选择中复制文本模拟 Ctrl+C 将数据复制到剪贴板。我试图以这种方式发送该键序列

PostMessage(hwnd, WM_KEYDOWN, 0x11, 0x001D0001);
PostMessage(hwnd, WM_KEYDOWN, VkKeyScan('c'), 0x002E0001);
PostMessage(hwnd, WM_CHAR, VkKeyScan('c'), 0x002E0001);
PostMessage(hwnd, WM_KEYUP, VkKeyScan('c'), 0xC02E0001);
PostMessage(hwnd, WM_KEYUP, 0x11, 0xC01D0001);

但也没有成功。这适用于记事本,但不适用于我的桌子。有没有其他方法可以从那里获取文本数据?

4

1 回答 1

0

您提到了 c#,所以我假设另一个 win 应用程序也是 .Net,在这种情况下,您可以使用以下技术获取数据:Hawkeye - .Net 运行时对象编辑器

于 2012-01-19T23:48:45.963 回答