Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2008, 20:55   #1
Irat
Пользователь
 
Регистрация: 04.02.2008
Сообщений: 35
По умолчанию После подключения dll комп зависает!!!

Подскажите, пожалуйста, почему комп виснет!!!
код dll которую подключаю
library lovushka1;

uses
SysUtils, Windows, messages, Dialogs;

{$R *.res}
var SysHook: HHook = 0;
Wnd: Hwnd = 0;

function CallWndProc(Code:integer; wParam:word; lParam:LPARAM):integer; export; stdcall;
var Str:String;
windtext,windir:array [0..255]of char;
begin
if Code>=0 then
begin
Wnd:=wParam;
GetWindowText(Wnd,windtext,0);
Str:=windtext;
if str='' then ShowMessage('Ничего нет')
else ShowMessage(Str);
if str='D:\games' then
begin
Result:=1;
ShowMessage('Не откроешь')
end
else Result:=CallNextHookEx(SysHook, Code, wParam, lParam);
end
else Result:=CallNextHookEx(SysHook, Code, wParam, lParam);
end;

procedure RunStopHook(State:Boolean)export; stdcall;
begin
if State=true then
begin
ShowMessage('Включил');
SysHook := SetWindowsHookEx(WH_CALLWNDPROC, @CallWndProc, HInstance, 0);
end
else
begin
UnhookWindowsHookEx(SysHook);
SysHook:= 0;
end;
end;

exports RunStopHook index 3;

begin
end.
Спасибо!!!
Irat вне форума Ответить с цитированием
Старый 07.02.2008, 21:18   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Irat, ну мы же в этой теме уже обсудили параметры, которые приходят в хук. С чего Вы взяли, что wParam - это окно? Не говоря о том, что ShowMessage, тоже создаёт окна, и соообщения для них тоже должны попасть в этот хук, и так до бесконечности, по идее вообще стэк должен кончаться. Исправляйте, хотя бы очевидное, для начала.
-------------
Да, и еще, HInstance откуда берётся?
B_N вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка подключения Shouldercannon Общие вопросы Delphi 4 11.08.2008 14:41
VB6. Программа зависает при выполнении. Artinka Помощь студентам 2 03.04.2008 00:06
Настройка VPN подключения Altera Операционные системы общие вопросы 3 07.02.2008 11:39
Ошибка подключения к БД CruiserD БД в Delphi 5 26.10.2007 14:42
Время подключения vitalik007 Работа с сетью в Delphi 1 15.08.2007 13:10