Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.06.2009, 12:54
Muxa Muxa вне форума
Новичок
 
Регистрация: 01.06.2009
Сообщения: 80
Репутация: 10
По умолчанию Запись чата ICQ

У меня на ПК стоит ICQ. Ну так вот мне нужно записывать весь мой чат в txt файл. Пробовал так, но не вышло.
Код:
var
  H, PageHandle, TabHandle, REHandle: THandle;
  lpBuffer: PChar;
begin
  H := FindWindow(nil, PChar('ICQ'));
  if H <> 0 then
  begin
    PageHandle := FindWindowEx(H, 0, 'SysTabControl32', nil);
    if PageHandle <> 0 then
    begin
     TabHandle := FindWindowEx(PageHandle, 0, '#000605CC',nil);
     if TabHandle <> 0 then
     begin
        REHandle := FindWindowEx(TabHandle, 0, 'RichEdit20A', nil);
        if REHandle <> 0 then
        begin
          lpBuffer := GetMemory(1024);
          try
            SendMessage(REHandle, WM_GETTEXT, 1024, Integer(lpBuffer));
            RichEdit1.Text := lpBuffer;
          finally
            FreeMemory(lpBuffer);
          end;
Для определения иерархии, использую WinSpy++
Ответить с цитированием
  #2  
Старый 24.06.2009, 15:14
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Так аська-же ведет журнал сообщений. Зачем дублировать?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 24.06.2009, 17:02
Muxa Muxa вне форума
Новичок
 
Регистрация: 01.06.2009
Сообщения: 80
Репутация: 10
По умолчанию

Тогда, как получить доступ к журналу сообщений. Но желательно осуществить, то, что я хотел в первом посте. Исправьте мой код. А то он не ловит сообщения((
Ответить с цитированием
  #4  
Старый 25.06.2009, 18:25
Muxa Muxa вне форума
Новичок
 
Регистрация: 01.06.2009
Сообщения: 80
Репутация: 10
По умолчанию

Неужели мне не помогут на этом форуме?
Переписку нужно получать непосредственно с окна ICQ.

Последний раз редактировалось Muxa, 25.06.2009 в 19:35.
Ответить с цитированием
  #5  
Старый 25.06.2009, 23:41
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

Проверила на окнах класса 'RichEdit20W' и 'Edit' (что было под рукой) — нормально считывается текст. Вы уверены, что получаете верный дескриптор (или что вообще получаете)? Проверьте трассировкой, что процедура вообще доходит до строки с SendMessage. А если всё же доходит до этой строки, то проверьте, что дескриптор принадлежит именно тому окну класса 'RichEdit20A', в котором находится текст.
Ответить с цитированием
  #6  
Старый 26.06.2009, 08:49
Muxa Muxa вне форума
Новичок
 
Регистрация: 01.06.2009
Сообщения: 80
Репутация: 10
По умолчанию

Код:
var
  H, PageHandle, TabHandle, REHandle: THandle;
  lpBuffer: PChar;
begin
  H := FindWindow(nil, PChar('Tanya'));
  if H <> 0 then
  begin
    PageHandle := FindWindowEx(H, 0, '__oxFrame.class__', nil);
    if PageHandle <> 0 then
    begin
     TabHandle := FindWindowEx(PageHandle, 0, '#000205C2',nil);
     if TabHandle <> 0 then
     begin
        REHandle := FindWindowEx(TabHandle, 0, 'Internet Explorer_Server', nil);
        if REHandle <> 0 then
        begin
          lpBuffer := GetMemory(1024);
          try
            SendMessage(REHandle, WM_GETTEXT, 1024, Integer(lpBuffer));
            RichEdit1.Text := lpBuffer;
          finally
            FreeMemory(lpBuffer);
          end;
Я получаю и класс, и хендл окна. Скорее всего я ошибся там. Не могли бы вы использую WinSpy++, указать мне на ошибку?

Последний раз редактировалось Muxa, 26.06.2009 в 09:08.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:48.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter