Страница: 1 |
Страница: 1 |
Вопрос: Перехват сообщений в VB6?
Добавлено: 29.04.06 01:39
Автор вопроса: Glyckmen
Имеется самодельная библиотека DLL (но не моя)которая выполняет сжатие файла в формате BZIP,при вызове функции из этой библиотеки и во время работы - эта функция посылает Windows сообщения с помощью API функции SendMessage на тот дескриптор который я указал при вызове (в сообщении передается информация об кол-ве обработанных Кб для организации прогресса). Моя проблема состоит в том как мне поймать это сообщение во время выполнения функции по сжатию файла?
зы:Грубо говоря задача состоит в том что-бы прервать на время работу функции по сжатию файла, обработать сообщение, а потом продолжить работу.
ЗЫ:ЗЫ: Точно знаю что на DELPHI это реализовано и работает.
Вот кусок кода на DELPHI который и обрабатывает сообщение:
procedure TForm1.WMCopyData(var Msg: TMessage);
var
cd: PCopyDataStruct;
begin
//if Msg.Msg=WM_COPYDATA then
begin
cd := PCopyDataStruct(Msg.LParam);
Progressbar1.Position:=(cd.dwData);
end;
end;
а вот кусок описания библиотеки:
Wnd - это THandle (HWnd) окна или любого другого контрола, который будет обрабатывать сообщения. Введен этот параметр для возможности организовать ProgressBar. Во время выполнения функций посылаются сообщения
SendMessage(Wnd, WM_COPYDATA, 0, LParam(@cd));
где cd: TCopyDataStruct;
В cd.dwData ханится информация о том, сколько kb обработано. При этом максимальное значение прогрессбара должно равняться размеру входного файла. В примере показано, как это работает. Способ конечно не очень, но другого не придумал.
Помогите реализовать это на VB6
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #1
Добавлено: 29.04.06 05:20
Не пробовал искать в гугле слово "сабклассинг"? А "перехват сообщений"?
А в яндексе?
А на форуме?
А попробуй - и потом скажи, сколько миллионов страниц было найдено.
Номер ответа: 2
Автор ответа:
Glyckmen
Вопросов: 7
Ответов: 22
Профиль | | #2
Добавлено: 29.04.06 13:45
GSerg Я не против поиска, но сидя на GPRS это сильно бьет по карману. Если можешь то подскажи (пример кода или линк где это подробно объясняется) буду благодарен.
Номер ответа: 3
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #3
Добавлено: 29.04.06 18:52
сЦуки!!!!!!!!!!!!!!!!! [мат][мат][мат][мат][мат][мат][мат][мат][мат][мат][мат][мат][мат][мат]
Поиск их по кармано бъёт!!!!!!!!!!!!!!!!!! @@@@@@@@@@@@@@@
А читать топы всяких уебанов, которым поиск по карману бъёт, нам по карману не бъёт? Пусть не по карману, а по времени...
Пожалуйста, при конечной мысли, которая сводится к
"Хачу код"
"Сделайте за меня"
"Найдите за меня"
НЕ ЗАБЫВАЙТЕ ДОПИСЫВАТЬ СУММУ ВОЗНАГРАЖДЕНИЯ!
Номер ответа: 4
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 30.04.06 21:37
Скоро мой ответ станет 3-м
Номер ответа: 5
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #5
Добавлено: 01.05.06 01:59
Гы, не стал.
АНАРХИЯ!!!!!!!
2Glyckmen:
http://vbnet.ru/articles/showarticle.aspx?id=76
http://vbnet.ru/articles/showarticle.aspx?id=126
http://www.vbrussian.com/Article.asp?ID=90
http://www.vbrussian.com/Article.asp?ID=87
Номер ответа: 6
Автор ответа:
Fever
Вопросов: 60
Ответов: 808
Профиль | | #6
Добавлено: 11.05.06 13:59
Чтение такмх мессагов на жпрс бьет сильнее