![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Zootekhnik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 17.12.2007 Репутация: нет Всего: нет |
Доброго времени суток! Вынужден обратиться с проблемой.
Вкратце, как мне кажется, проблема в уровне привилегий Windows 7. В ОС XP и Vista без проблем. Значит, есть прога которая загружает клавиатурный хук, из хука по некоторому событию посылаю сообщение WM_KBHOOK своей проге: hWndInd = FindWindow(NULL, LPCTSTR("MyProga")); PostMessage(hWndInd, WM_KBHOOK, (int)nNewMode, NULL); Прога запускается из реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run В манифесте уровень привилегии выставил в As Invoker. Так вот, в этом виде прога работает нормально, т.е. в виде виртуализации, да вот БЕДА, реестр Винды недоступен, не могу отключить автозапуск проги. Проблема возникает при запуске в режиме администратора, доступ к реестру появляется, но не могу послать PostMessage своей же проге - изложено выше ((( Вроде бы FindWindow находит а сообщение уходит в никуда (((. Есть ли решение этой проблемы, куда копать? Буду премного благодарен дельным советам! |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
программа запускается что ли на виртуальной машине ? а ты сообщение пытаешься передать в виртуальную машину ?
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| Zootekhnik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 17.12.2007 Репутация: нет Всего: нет |
Дело не в виртуальной машине. Просто прога работала в XP и Vista, а в Windows 7 не желает нормально работать. Как мне кажется дело в самой ОС Win 7, вот сижу, копаю в этом направлении: Приложение без поддержки UAC в манифесте, которое не запускается явно с административными привилегиями, будет работать в режиме виртуализации совместимости. В этом режиме все глобальные операции записи, например в реестр или в разделы, не предназначенные для пользователя, перенаправляются в разделы, назначенные пользователю. Повышение пользователем уровня прав для такой программы невозможно. Система считает такую программу без манифеста UAC "старой" и создает в целях безопасности для такой программы выделенное пространство имен. Другие программы это пространство не видят.
Если вашему приложению требуется повысить уровень привелегий и отключить виртуализацию, необходимо добавить в манифест секцию Trust Info с разделом Security для поддержки управления учетными записями (UAC). |
|||
|
||||
| Zootekhnik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 17.12.2007 Репутация: нет Всего: нет |
В Вин 7 похоже дела именно так и обстоят
|
|||
|
||||
| ncr |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 10.5.2010 Репутация: нет Всего: нет |
Если в манифесте выславлено AsInvoker, то виртуализация отключается. А реестр вам недоступен потому что в HKLM простым смертным писать нельзя (и это хорошо). Пишите в HKCU.
Посылать сообщения из непривилегированного процесса окнам привилегированного процесса нельзя. Либо не запускайте приёмник от имени администратора, либо запускайте передатчик от имени администратора, либо передавайте информацию другими способами. |
||||
|
|||||
| Zootekhnik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 17.12.2007 Репутация: нет Всего: нет |
Стало быть дела у меня дрянь
|
|||
|
||||
| ncr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 10.5.2010 Репутация: нет Всего: нет |
||||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
с чего это запретили все работает. В остальном просто надо понимать куда разрешено читать и писать а куда нет в Win 7 -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| Zootekhnik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 17.12.2007 Репутация: нет Всего: нет |
Yоur bunnу wrоte!!! Вот говорила мама "Учи английский"
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |