Мне нужно получить данные из некоторого приложения win (не моего). В это время окно приложения может быть неактивным.
Данные, которые мне нужны, представлены в таблице, поэтому я не могу использовать WM_GETTEXT, WM_COPY, потому что они получают текст только из текстовых полей, текстовых областей и т. Д.
Я могу вручную сделать выделение в этой таблице, и все, что мне нужно, это просто скопировать текст из этого выделения путем эмуляции 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);
Но также не имеют успеха. Это прекрасно работает для блокнота, но не для моего стола.
Есть ли другой способ получить оттуда текстовые данные?