Главная страница
    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.44 MB
Время: 0.005 c
6-91787
yaJohn
2003-05-22 11:23
2003.07.28
Как работает DNS?


6-91805
SergeyI
2003-05-21 09:04
2003.07.28
Написание


3-91683
Irina
2003-07-04 05:32
2003.07.28
Открытие БД Visual FoxPro в Delphi


3-91621
Step[B.M.]
2003-07-04 08:51
2003.07.28
Как организовать цикл по записям в процедуре InterBase


8-91769
БРУТЪ
2003-04-05 06:49
2003.07.28
Масштабирование канваса





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский