Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 07.02.2008, 21:55   #1
Irat
Пользователь
 
Регистрация: 04.02.2008
Сообщений: 35
Репутация: 30
По умолчанию После подключения 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, 22:18   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
Репутация: 590
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


11:59.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru