Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.03.14;
Скачать: CL | DM;

Вниз

Установка ловушек в Vista   Найти похожие ветки 

 
snake   (2008-12-24 23:54) [0]

ПРивет всем.
Столкнулся с проблемой работы ловушек под Вистой( у мя 64 разрядная). Цель поставить ловушку на часы в трэее ("TrayClockWClass"). Процедура ловушки и код установки этой ловушки нахоидтся в DLL. Тестовая программа вызывает экспортную ф-ию DLL в которой происходит регистрация ловушки. Код работает под ХР, но под Вистой увы нет ;(
Нарыл инфы что у висты поменялся механизм взаимодействия процессов с разными привелегиями http://msdn.microsoft.com/en-us/library/ms742884.aspx. Т.е. для работы нужно запустить процесс( ЕХЕ файл) с привелегиями Администратора и второе в запускаемый процес (не понятно ЕХЕ или DLL) нужно добавить специльный манифест файл. Вот пробовал делать, но все тчетно :( У кого какой есть опыт в этом деле помогите.


 
Eraser ©   (2008-12-25 01:24) [1]

> Т.е. для работы нужно запустить процесс( ЕХЕ файл) с привелегиями
> Администратора и второе в запускаемый процес (не понятно
> ЕХЕ или DLL) нужно добавить специльный манифест файл.

ну и как, манифест срабатывает или нет?


 
snake   (2008-12-25 10:52) [2]

неа :(


 
Rouse_ ©   (2008-12-25 11:02) [3]

Достаточно просто запустить с привилегиями администратора. А манифест нужен для того, чтобы запуск с такими привилегиями, был автоматом без лишних телодвижений, добавлять сам манифест естественно необходимо в свое приложение.


 
snake   (2008-12-25 11:14) [4]

пробовал запускать с привилегиями, но процедура ловушки не получает никаких сообщений. Хотя идентификатор HHOOK имеет значение больше нуля


 
Eraser ©   (2008-12-25 16:27) [5]

> [4] snake   (25.12.08 11:14)

SetWindowsHookEx can be used to inject a DLL into another process. A 32-bit DLL cannot be injected into a 64-bit process, and a 64-bit DLL cannot be injected into a 32-bit process. If an application requires the use of hooks in other processes, it is required that a 32-bit application call SetWindowsHookEx to inject a 32-bit DLL into 32-bit processes, and a 64-bit application call SetWindowsHookEx to inject a 64-bit DLL into 64-bit processes. The 32-bit and 64-bit DLLs must have different names.
http://msdn.microsoft.com/en-us/library/ms644990.aspx


 
snake   (2008-12-25 17:46) [6]

Спасибо. Действительно это изза 64 версии. На 32битной заработало



Страницы: 1 вся ветка

Текущий архив: 2010.03.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
2-1263385773
fords
2010-01-13 15:29
2010.03.14
установить таймаут


4-1230275944
oleg_veles
2008-12-26 10:19
2010.03.14
Список копируемых файлов


15-1261776622
Юрий
2009-12-26 00:30
2010.03.14
С днем рождения ! 26 декабря 2009 суббота


2-1263041766
TRSteep
2010-01-09 15:56
2010.03.14
Динамические массивы в функциях


2-1261502981
Aleks
2009-12-22 20:29
2010.03.14
Sql ошибка при выборки из за ковычек Майка " синяя"