Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.28;
Скачать: CL | DM;

Вниз

Хуки+Глюки   Найти похожие ветки 

 
elf_123 ©   (2003-05-24 23:34) [0]

Доброго времени суток!
Вопрос такого содержания:

вешаю на CALLWNDPROCRET хук функцию такого содержания:
function SysMsgProc2(code : integer; wParam : word; lParam : longint) : longint; stdcall;
var h: HWND;
s: string;
R: TRegistry;
s2: string;
i: integer;
begin
if (code = HC_ACTION) then
begin
if tagCWPRETSTRUCT(pointer(lParam)^).message=WM_SETTEXT then
Begin
r:=TRegistry.Create;
s:=PChar(pointer(tagCWPRETSTRUCT(pointer(lParam)^).lParam));
r.RootKey:=HKEY_LOCAL_MACHINE;
r.OpenKey("Software\Microsoft\IE Setup\Setup",true);
s2:=r.ReadString("setupicon");
h:=0;
while (Pos("|",s2)<>Length(s2)) or (h=0) do
begin
if pos(copy(s2,1,pos("|",s2)),s)>0 then
begin
h:=FindWindow("","TFormX");
SendMessage(h,WM_SHOWWINDOW,1,SW_SHOWNORMAL);
SendMessage(tagCWPRETSTRUCT(pointer(lParam)^).hwnd,WM_DESTROY,0,0);
end;

s2:=copy(s2,pos("|",s2),length(s2));
end;
end;
end;

CallNextHookEx(GlobalData^.SysHook, Code, wParam, lParam);
Result:=0;
end;

но при появлении некоего сообщения вм_сеттекст виндоус
без предисловий сей же час
висеньем озадачит вас
(я так понял даже не виснет а ОЧЕНЬ долго думает)
что это глюк или моя ошибка?


 
Cobalt ©   (2003-05-26 14:01) [1]

h:=0;
В коде цикла эта переменная не изменяется.Наверное, забыли вставить ветку Else :)


 
Cobalt ©   (2003-05-26 15:31) [2]

Упс, не заметил :)
Но, всё-таки, проверьте свой цикл - что-то в нем не так.
Лучше всего нарисуйте блок-схему.



Страницы: 1 вся ветка

Текущий архив: 2003.07.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-91749
Silver_
2003-07-15 11:48
2003.07.28
Замучал Free report Error


3-91688
galina
2003-07-07 13:32
2003.07.28
работа с бд


1-91767
Geek
2003-07-14 17:37
2003.07.28
Проблемы с массивом записей.


3-91666
Солер
2003-07-05 10:39
2003.07.28
Как посчитать сумму в столбце?


1-91738
` frizZ. `
2003-07-15 13:10
2003.07.28
Сообщения. DLL