Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.45 MB
Время: 0.005 c
9-91612
Universal
2003-02-03 18:22
2003.07.28
Изометрия


3-91691
Сергей Ч
2003-07-07 12:01
2003.07.28
Изменение хранимой процедуры


4-91961
Grayver
2003-05-22 21:50
2003.07.28
2 вопроса (про трей и едит)


6-91793
yura
2003-05-20 14:12
2003.07.28
E-mail


3-91627
malamba
2003-07-04 12:14
2003.07.28
Access - запрос на выборку дат - глючит





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский