Форум программистов, компьютерный форум, киберфорум
Наши страницы

2k/XP Сервис и хук - проблемы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указатель на функцию http://www.cyberforum.ru/cpp-beginners/thread469242.html
Мир вашей хате! Подскажите пожалуйста в такой проблеме... В одном классе (MyClass1) есть переменная указатель на функцию (без параметров и результата). В другом классе (MyClass2) есть функция...
C++ Как скрыть консольное MFC-приложение? Здравствуйте, подскажите, возможно ли скрыть консольное MFC приложение, чтобы его не видно было даже в таскбаре? ShowWindow (SW_HIDE); не проходит Спасибо http://www.cyberforum.ru/cpp-beginners/thread469232.html
Ширина кнопки в ComboBox'e C++
Может кто знает,как получить ширину кнопки в ComboBox'е.
C++ Соединение с базой Oracle
Как произвести соединение с базой Oracle программируя на с++ под Unix? Спасибо за ответ
C++ CreateDispatch не работает при доступе к контактам Outlooka http://www.cyberforum.ru/cpp-beginners/thread469189.html
Вообще, я пытаюсь получить доступ к контактам outlook'a. Нашел код в Интернете: if(!da.CreateDispatch('Outlook.Application')) return FALSE; //perhaps Outlook doesnt exist on this computer? ...
C++ Как имитировать нажатие клавиш? Как? Спасибо всем, кто ответит! подробнее

Показать сообщение отдельно
MasterDoc

2k/XP Сервис и хук - проблемы - C++

04.08.2008, 08:11. Просмотров 648. Ответов 0
Метки (Все метки)

Есть hook.dll реализующая SHELL hook. Работала эта DLL без проблем с обычной программой.Отслеживала создание окон и вела лог.

Надо передалать программу в сервис. Все бы ничего, но с хуком ситуация странная.
При создании сервиса он загружается нормально и показывает в логе файле все win-окна. С DOS и консолями (FAR например) проблема. Они переодически не фиксируются хуком - нет их в логе.

Зачечено, если любом месте ServiceMain после создания хука вставить MessageBox (он был для отладки), то пока он на экране - 100% ВСЕ окна идут в лог. После его закрытия - Win окна в лог, а вот DOS и консоль - 50 на 50.
вот исходник:

hmodHook = LoadLibrary('hookdll.dll');
hHook = SetWindowsHookEx(WH_SHELL, (HOOKPROC)GetProcAddress((HINSTANCE)hmodHook, 'ShellHOOKProc'), (HINSTANCE)hmodHook, 0);
if (!hHook) MessageBox (NULL,'не моогу создать хук','Ошибка', MB_OK);
else MessageBox (NULL,'Хук загружен','Ок', MB_OK);

for (;
{
if (sStatus.dwCurrentState == SERVICE_STOPPED) break;
Sleep(1000);
}

пока дежишь на экране 'Хук загружен' - все ок. Стоит зарыть - 50 на 50 ;(

В чем может быть проблема ?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru