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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2010, 19:36   #1
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию Получить ID процесса для setwindowshookex

Нужно поставить хук на 1 приложение.
Если ставить хук на своё, то будет выглядеть это так:
setwindowshookex(WH_KEYBOARD,@KeyBo ardHook,0,GetCurrentThreadID())

Знаю handle прилоежения

Пробовал так:
Код:
function SetupLocalHook: boolean;
var
  h: HWND;
  pid: integer;
begin
    h:=FindWindow('Warcraft III', 0);
    GetWindowThreadProcessId(h, @pid);
    CurrentHook:=setwindowshookex(WH_KEYBOARD,@KeyBoardHook,0,pid); //install hook
    if CurrentHook<>0  then SetupLocalHook:=true else SetupLocalHook:=false; //return true if it worked
    pid:=GetLastError;
CurrentHook = 0
GetLastError = 87

Беда...

Последний раз редактировалось TwiX; 20.05.2010 в 19:51.
TwiX вне форума Ответить с цитированием
Старый 20.05.2010, 19:57   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

кажется так

ThreadID_ := GetWindowThreadProcessId(HWND,nil);
setwindowshookex(WH_KEYBOARD,@KeyBo ardHook,0,ThreadID_)

HWND хендл нужного процесса, ну и естественно всё должно из длл вызыватся

Последний раз редактировалось vovk; 20.05.2010 в 19:59.
vovk вне форума Ответить с цитированием
Старый 20.05.2010, 20:00   #3
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Попробовал. То же самое, только возвращает 1428ю ошибку

Прочитал про эту ошибку - сказано, что нужна ДЛЛ. До этого читал, что ДЛЛ нужна только для глобальной ловушки...
Поставил ДЛЛ - всё теперь нормально)

О) Вы как раз тож самое отписали) Спасибо)

Последний раз редактировалось TwiX; 20.05.2010 в 20:20.
TwiX вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание сигнатуры функций для поиска их в памяти процесса Zlyden' Общие вопросы C/C++ 10 01.03.2010 21:27
как получить путь процесса по его ID Аlex Общие вопросы C/C++ 7 14.12.2009 02:12
Есть ли антипод операции TASKKILL для запуска процесса? Stilet Операционные системы общие вопросы 4 25.03.2009 15:28
Из процесса получить полный путь к ехе файлу. Ozerich Общие вопросы Delphi 4 08.08.2008 12:12