Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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
Я не против поиска, но сидя на GPRS это сильно бьет по карману.

сЦуки!!!!!!!!!!!!!!!!! [мат][мат][мат][мат][мат][мат][мат][мат][мат][мат][мат][мат][мат][мат]

Поиск их по кармано бъёт!!!!!!!!!!!!!!!!!! @@@@@@@@@@@@@@@

А читать топы всяких уебанов, которым поиск по карману бъёт, нам по карману не бъёт? Пусть не по карману, а по времени...

Пожалуйста, при конечной мысли, которая сводится к
"Хачу код"
"Сделайте за меня"
"Найдите за меня"
НЕ ЗАБЫВАЙТЕ ДОПИСЫВАТЬ СУММУ ВОЗНАГРАЖДЕНИЯ!

Ответить

Номер ответа: 4
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #4
Добавлено: 30.04.06 21:37
Скоро мой ответ станет 3-м :)

Ответить

Номер ответа: 5
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #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
Чтение такмх мессагов на жпрс бьет сильнее

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам