Win32 Api программирование - PullRequest
1 голос
/ 23 августа 2011

Я хочу получить работающий текст приложения, например, если у меня запущен блокнот, то я хочу, чтобы текст был написан внутри него. Для этого сначала мне нужно получить дескриптор блокнота, но я не знаю, как получить блокнот Обращайтесь, пожалуйста, скажите мне. Через какие функции я могу получить его внутренний текст? какие заголовочные файлы включить? какие нужны декларации? Пожалуйста, помогите мне, я новичок в программировании Windows API. Я прошел основные уроки по программированию Windows, но это мне не очень помогает.

Ответы [ 2 ]

2 голосов
/ 23 августа 2011

Использовать FindWindowEx .Хотя вы, должно быть, смогли найти это сами, если вы искали / гуглили способ «найти дескриптор блокнота в C ++»;)

Вы даже можете найти полные примеры на « Отправка текстаБлокнот на С ++"

1 голос
/ 23 августа 2011

Чтобы расширить ответ GolezTrol, вы можете сделать следующее:

#include <windows.h>
#include <tchar.h>

int CALLBACK _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow ) {
  HWND hwnd = FindWindow( _T("Notepad"), NULL);
  hwnd      = FindWindowEx( hwnd, NULL, _T("edit"), NULL );

  TCHAR lpText[256];
  SendMessage( hwnd, WM_GETTEXT, _countof(lpText), (LPARAM)lpText);
  MessageBox(0, lpText, lpText, 0);
  return ERROR_SUCCESS;
}

В действительности вы, вероятно, использовали бы более надежный метод идентификации окон (например, перечисление всех окон и проверка того, к какому процессу они относятся)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...