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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2012, 16:33   #1
alumium
Пользователь
 
Регистрация: 17.08.2012
Сообщений: 17
Вопрос Проблема с записью в реестр HKLM, Win7x64

Добрый день. Сегодня потребовалось создать функцию анализа приложений, однако возникла проблема записи реестра в ветку HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\, UAC отключал, запускал от администратора (тоже не помогло), манифест исправил вот так:
Цитата:
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
ОС: Windows 7 Professional x64

Не изменяет ключ через Delphi:
Цитата:
Registry := TRegistry.Create(KEY_WRITE);
Registry.RootKey := HKEY_LOCAL_MACHINE;
Registry.OpenKey('SOFTWARE\Microsof t\Windows NT\CurrentVersion\Windows', True);
Registry.WriteInteger('LoadAppInit_ DLLs',1);
Registry.CloseKey;
Registry.Free;
Попытка запуска bat файла из моего exe, тоже не дала успеха (ручной запуск - работает):
Цитата:
@echo on
reg add "HKLM\SOFTWARE\Microsoft\Window s NT\CurrentVersion\Windows" /v "LoadAppInit_DLLs" /t reg_dword /d 1 /f
reg add "HKLM\SOFTWARE\Microsoft\Window s NT\CurrentVersion\Windows" /v "AppInit_DLLs" /t reg_sz /d "%1" /f
exit
PS: Это не будущий троян, а программа для локальной слежки за компьютером. Частный заказ.
alumium вне форума Ответить с цитированием
Старый 11.09.2012, 17:00   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,758
По умолчанию

У меня тоже не работало, пока не поставил слеши тут, может и тебе поможет
Код:
Registry.OpenKey('\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\', True);
FaTaL вне форума Ответить с цитированием
Старый 11.09.2012, 19:10   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,694
По умолчанию

Итак, ваше приложение 64х битное?
p51x вне форума Ответить с цитированием
Старый 11.09.2012, 22:04   #4
alumium
Пользователь
 
Регистрация: 17.08.2012
Сообщений: 17
По умолчанию

нет, просто проверял на XP x32 работает, но win7 x64 не хочет
alumium вне форума Ответить с цитированием
Старый 11.09.2012, 22:09   #5
alumium
Пользователь
 
Регистрация: 17.08.2012
Сообщений: 17
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
У меня тоже не работало, пока не поставил слеши тут, может и тебе поможет
Код:
Registry.OpenKey('\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\', True);
Не работает (( C HKCU все как надо. Записать в HKLM\SOFTWARE\LanSpy тоже не выходит.
alumium вне форума Ответить с цитированием
Старый 11.09.2012, 22:46   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,694
По умолчанию

Цитата:
нет, просто проверял на XP x32 работает, но win7 x64 не хочет
Вы думаете я просто так спросил? http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
p51x вне форума Ответить с цитированием
Старый 11.09.2012, 22:52   #7
Virus25
Пользователь
 
Регистрация: 24.07.2009
Сообщений: 87
По умолчанию

Может смениш параметр с Registry.OpenKey('SOFTWARE\Microsof t\Windows NT\CurrentVersion\Windows', True); на Registry.OpenKey('SOFTWARE\Microsof t\Windows NT\CurrentVersion\Windows', False); ты же не создаёшь ключ в реестре а просто проверяеш.
Virus25 вне форума Ответить с цитированием
Старый 12.09.2012, 00:29   #8
alumium
Пользователь
 
Регистрация: 17.08.2012
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Virus25 Посмотреть сообщение
Может смениш параметр с Registry.OpenKey('SOFTWARE\Microsof t\Windows NT\CurrentVersion\Windows', True); на Registry.OpenKey('SOFTWARE\Microsof t\Windows NT\CurrentVersion\Windows', False); ты же не создаёшь ключ в реестре а просто проверяеш.
А ты думаешь я не пробовал? Не работает, вопрос открыт
alumium вне форума Ответить с цитированием
Старый 12.09.2012, 00:53   #9
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Как минимум вас UAC на юг пошлет за попытку пройти в HKLM из ограниченой учетки или не адм. пользователя.
Читайте про манифесты, чтобы сделать UAC дружелюбнее..
А вообще не суйтесь в HKLM, это системный раздел, туда только полный "рут" может ходить. А под пользователем, в HKCU лучше сидеть. Если уж надо HKLM, то проверяйте наличие соотв. прав у юзера и закрывайте программу если там все неок, выдав юзеру сообщение "только админ может меня использовать!!111 адынъ".

На 7-ке вообще проблематично "полного рута" добиться, а на деле чуть ли не у всех, поголовно, UAC кричит, за попытку писать в свою папку, если ПО установлено на системный диск, или лезть в HKLM раздел.

Последний раз редактировалось Человек_Борща; 12.09.2012 в 00:56.
Человек_Борща вне форума Ответить с цитированием
Старый 12.09.2012, 12:03   #10
alumium
Пользователь
 
Регистрация: 17.08.2012
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Как минимум вас UAC на юг пошлет за попытку пройти в HKLM из ограниченой учетки или не адм. пользователя.
Читайте про манифесты, чтобы сделать UAC дружелюбнее..
А вообще не суйтесь в HKLM, это системный раздел, туда только полный "рут" может ходить. А под пользователем, в HKCU лучше сидеть. Если уж надо HKLM, то проверяйте наличие соотв. прав у юзера и закрывайте программу если там все неок, выдав юзеру сообщение "только админ может меня использовать!!111 адынъ".

На 7-ке вообще проблематично "полного рута" добиться, а на деле чуть ли не у всех, поголовно, UAC кричит, за попытку писать в свою папку, если ПО установлено на системный диск, или лезть в HKLM раздел.
Вы наверно не обратили внимание на первую цитату, главного поста
alumium вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с записью RussDragon PHP 3 07.06.2012 16:21
Проблема с записью Zuba C++ Builder 10 05.05.2012 22:38
Смена обоев, проблема с записью в реестр Cooler2 Общие вопросы Delphi 1 30.10.2011 23:31
Проблема с записью дисков Milashko63 Компьютерное железо 20 12.04.2010 09:35
Проблема с записью на CD pavel42 Компьютерное железо 2 24.09.2009 16:33