На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> Как получить текст из окна чужого прил-я
    Имею следующую ситуацию:

    Имею дискриптор окна совершенно чужого приложения: 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).
    Уважаемые господа, помогите справиться с этой проблемой!
      Ничего не возвращается потому, что он использует память того приложения где создан. Для того, чтоб получить данные из него, надо подключится к данному приложению ( к его памяти), и запрашивать эти данные в выделенную память этого приложения. Как примерно такое сделать есть в FAQ.
      1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0493 ]   [ 15 queries used ]   [ Generated: 18.05.24, 03:43 GMT ]