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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2014, 18:37   #1
HellMercenariess
Форумчанин
 
Аватар для HellMercenariess
 
Регистрация: 27.07.2009
Сообщений: 547
Вопрос передача параметров DLL

Для того чтобы не искать hWnd своего окна разными неточными способами вроде:
Код:
  SendMessage(FindWindow('TForm1',nil)
(зачем искать то, что основное окно точно знает?)

решил поробовать передавать его сразу из программы при активации хука, программа:
Код:
   SwitchHook(True,application.Handle);
  SwitchHook(False,application.Handle);
dll
Код:
procedure SwitchHook(State: Boolean; wnd:hwnd  ) export; stdcall;
 hApp:=wnd;
При попытке закрыть прогу вылетает ошибка 217.

Что здесь неправильно?
"Виновник этого парада,он не дурак, ушел как надо!" Похороны панка.

Последний раз редактировалось HellMercenariess; 26.06.2014 в 19:11.
HellMercenariess вне форума Ответить с цитированием
Старый 26.06.2014, 18:47   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А может Form1.Handle вместо application.Handle?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.06.2014, 19:38   #3
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

А в программе процедура описана точно так же? stdcall не упущен?
northener на форуме Ответить с цитированием
Старый 27.06.2014, 08:08   #4
HellMercenariess
Форумчанин
 
Аватар для HellMercenariess
 
Регистрация: 27.07.2009
Сообщений: 547
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
А в программе процедура описана точно так же? stdcall не упущен?
вроде бы нет:
Код:
 procedure SwitchHook(state: Boolean; wnd:hwnd) stdcall; external 'KeyHook.dll';
вот только что немного повырезал ненужные процедуры, там почти все было закомментировано, остались только 2 самые необходимые без ошибки запустил-остановил несколько раз.
"Виновник этого парада,он не дурак, ушел как надо!" Похороны панка.

Последний раз редактировалось HellMercenariess; 27.06.2014 в 08:23.
HellMercenariess вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача параметров _Mixer_ Общие вопросы по Java, Java SE, Kotlin 0 22.09.2011 20:17
Передача параметров в DLL -Flasher- Общие вопросы Delphi 2 04.06.2010 18:05
Передача параметров aesoem Общие вопросы Delphi 8 15.07.2008 21:51
Передача параметров Gudzon Общие вопросы Delphi 12 08.02.2007 08:19
передача объектов как параметров функций в Dll Umen Общие вопросы Delphi 9 12.11.2006 19:31