Страница: 1 |
Вопрос: Перехват сообщений в VB6? | Добавлено: 29.04.06 01:39 |
Автор вопроса: ![]() |
Имеется самодельная библиотека 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 Автор ответа: ![]() ![]() ![]() Вопросов: 0 Ответов: 1876 ![]() |
Профиль | Цитата | #1 | Добавлено: 29.04.06 05:20 |
Не пробовал искать в гугле слово "сабклассинг"? А "перехват сообщений"?
А в яндексе? А на форуме? А попробуй - и потом скажи, сколько миллионов страниц было найдено. |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() Вопросов: 7 Ответов: 22 |
Профиль | Цитата | #2 | Добавлено: 29.04.06 13:45 |
GSerg Я не против поиска, но сидя на GPRS это сильно бьет по карману. Если можешь то подскажи (пример кода или линк где это подробно объясняется) буду благодарен. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #3 | Добавлено: 29.04.06 18:52 |
Я не против поиска, но сидя на GPRS это сильно бьет по карману.
сЦуки!!!!!!!!!!!!!!!!! [мат][мат][мат][мат][мат][мат][мат][мат][мат][мат][мат][мат][мат][мат] Поиск их по кармано бъёт!!!!!!!!!!!!!!!!!! @@@@@@@@@@@@@@@ А читать топы всяких уебанов, которым поиск по карману бъёт, нам по карману не бъёт? Пусть не по карману, а по времени... Пожалуйста, при конечной мысли, которая сводится к "Хачу код" "Сделайте за меня" "Найдите за меня" НЕ ЗАБЫВАЙТЕ ДОПИСЫВАТЬ СУММУ ВОЗНАГРАЖДЕНИЯ! |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 30.04.06 21:37 |
Скоро мой ответ станет 3-м ![]() |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 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 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 60 Ответов: 808 |
Профиль | Цитата | #6 | Добавлено: 11.05.06 13:59 |
Чтение такмх мессагов на жпрс бьет сильнее |
Страница: 1 |
|