Форум: "WinAPI";
Текущий архив: 2003.07.28;
Скачать: [xml.tar.bz2];
ВнизХуки+Глюки Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.07.28;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c