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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2011, 20:05   #11
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

ежели вы хотите перехватывать сообщения, которые программа посылает сама себе, то юзать тут хук - шибко излишне, ежели хотите поставить глобальный хук на все приложения, то необходимо процедуру обработки и желательно и установки хука вынести в длл, которая и будет аттачится ко всем процессам

а по вашему кодесу я вот что-то даже и не понял, где там создается окно и основной оконный цикл приема сообщений окну?
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 01.02.2011, 09:30   #12
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

Спасибо. Ща погуглю про глобальные хуки

Последний раз редактировалось Dimarik; 01.02.2011 в 09:55.
Dimarik вне форума Ответить с цитированием
Старый 01.02.2011, 19:22   #13
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

Ну в dll я потом запихну. Самое главное что у меня сейчас никак не получается сделать - это подключение ко ВСЕМ процессам и сделать так чтобы программа работала без создания окна. то есть Я свою прогу запускаю, у меня быстро она выполняется и всё. Как бы ничего перехватить по сути и не успевает. Ну не создавать же мне там бесконечный цикл.....
хотя.. программа теперь сама не закрывается, я главную функцию перписал....
Код:
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{//HINSTANCE hInstance - дескриптор, который пристраивает Windows запущенному приложению
	HooksWndProc(HWND_BROADCAST,WM_CREATE, NULL, NULL);
	// Выполняем цикл обработки сообщений до закрытия приложения
	while (GetMessage(&msg, NULL, 0, 0))  {
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}

}
В чём же проблема.... Когда я завершаю програму через диспетчер задач, у меня или не срабатывает
Код:
case WM_DESTROY:
		UnhookWindowsHookEx(hHook);
		CloseHandle(hFile);
		PostQuitMessage(0);//перемещает сообщение в очередь, связанную с нитью, которая создала окно
		//и вполнить возврат, не ожидая ответа
		//сообщения, которые находятся в очереди, могут быть выбраны путём вызова функций GetMessage, PeekMessage
		return 0;
- хотя должно срабатывать
Или же у меня просто напросто не происходит запись в файл (перехват криво работает). Хотя опять же. Он нормально работал, когда я создавал окно, но работал в пределах созданного окна....
В чём проблема и как её исправить я так и не понял... Может всё-таки я просто неГЛОБАЛЬНЫЙ хук сделал? Тогда как это исправить? Подскажите кто чем может... Уже 3ий день мучаюсь над этой проблемой.....
Dimarik вне форума Ответить с цитированием
Старый 01.02.2011, 20:51   #14
shadow_shaman
 
Регистрация: 18.01.2011
Сообщений: 6
По умолчанию

глянь вот это: http://www.cyberguru.ru/cpp-sources/...-visual-c.html
shadow_shaman вне форума Ответить с цитированием
Старый 01.02.2011, 21:39   #15
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

Без окна то можно, но процесс то завершать нельзя ибо со смертью процесса сдохнут и все ваши хуки это раз
Никаких глобальных хуков без длл у вас не выйдет это два
Почитайте матчасть таки
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 03.02.2011, 17:08   #16
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

Сейчас читаю ссылку, которую дал shadow_shaman и я решил попробовать написать прогу без dll, код тот же самый, только всё в одном файле получилось. И оказалось, как ты и говорил, yuran666666, никаких глобальных хуков без dll не выходит. И что-то нифига не понятно, почему? Ведь код по сути один и тот же, просто всё в одном файле....
Dimarik вне форума Ответить с цитированием
Старый 03.02.2011, 17:11   #17
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

код то один и тот же, да вот только вы не пробывали узнать как хуки работают.
длл потому и нужна что эта длл будет подключатся ко всем процессом которые попадают под действие хука.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.02.2011, 18:48   #18
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

Просветляйтесь, а то еще немного и начнете катать телеги на венду и ее бездарных разрабодчеков
http://wasm.ru/print.php?article=1001024
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 03.02.2011, 19:01   #19
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

Спасибо большое за ссылку.
Вот интересно. Мне надо записать в файл нажатые клавиши? Запись в файл осуществляется таким образом: открыть файл/записать/закрыть
Это при каждом нажатии надо эту процедуру делать?
Или же при запуске программы мы открываем файл, потом делаем действия, а при закрытии программы закрываем? Но может получиться так, что часть информации окажется несохраненной. Например, пользователь работал за ПК, а потом резко выключили свет и корректно завершить работу программы не получилось.
Dimarik вне форума Ответить с цитированием
Старый 04.02.2011, 07:37   #20
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

Сделайте чтобы покраденные данные сразу распечатывались на принтере.
Вам алгоритм в блок-схемах нарисовать или над своей программой может сами подумаете?
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
:::Keylogger::: doniyor Общие вопросы Delphi 15 02.03.2012 19:56
keylogger DeDoK Общие вопросы Delphi 15 06.06.2010 00:15
Elite Keylogger 4.1 From Heaven Софт 8 18.02.2009 22:30