Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.252.87] |
|
Сообщ.
#1
,
|
|
|
Имею следующую ситуацию:
Имею дискриптор окна совершенно чужого приложения: HWND H_W; //Класс этого окна - SysListView32. Стиль этого окна: LVS_REPORT (представляет собой таблицу из строк и колонок 10x10). Требуется получить из определенной ячеки этой таблицы текст. Работаю (WINDOWS 98,2000). Делаю так: //------------------------------------------------------------------------------------------------------------------------------- HWND H_W; // Дискриптор окна чужого приложения char szBuf[256]; // Буфер получателя текста int i, iSubItem; // Номер строки и колонки в таблице ... //Здесь получаю дискриптор окна чужого приложения (H_W) - (!!! Проверено Spy++. Дискриптор получен правильно.) i=1; // Номер строки iSubItem=2; // Номер колонки ListView_GetItemText (H_W, i, iSubItem, szBuf, 256); //------------------------------------------------------------------------------------------------------------------------------- Этот код не работает, т.е. ничего не возвращается, хотя команда типа ListView_DeleteColumn (H_W, n_k) работают прекрасно (т.е. удаляет всю колонку n_k). Уважаемые господа, помогите справиться с этой проблемой! |
Сообщ.
#2
,
|
|
|
Ничего не возвращается потому, что он использует память того приложения где создан. Для того, чтоб получить данные из него, надо подключится к данному приложению ( к его памяти), и запрашивать эти данные в выделенную память этого приложения. Как примерно такое сделать есть в FAQ.
|