Проблема : мне нужно создать ключи реестра в моем простом приложении (проект MS VC ++), но это простое приложение может работать в разных режимах:
- если я запускаю его с WinXP, он запускается как сервис
- если я запускаю его с Vista или Win7, он запускается как окно консоли
На WinXP я мог установить службу, а также написать в раздел HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\
. Все в порядке.
Но , когда я пытаюсь запустить свое приложение на Vista / Win7 и пытается сохранить некоторые данные в HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\
раздел реестра, я получаю сообщение об ошибке , что я не могу этого сделать.
Вопрос : Может кто-нибудь сказать мне, где я мог бы записать (создать) некоторые данные (ключи) в реестр во всех этих системах WinXP, Vista, Seven.
PS. Я не могу использовать секцию HKEY_CURRENT_USER
, потому что сервисы работают над своими собственными сеансами, поэтому данные, сохраненные пользователем в HKEY_CURRENT_USER
, не будут доступны сервису.
PSS. Я не могу дать администратору права на приложение для сохранения некоторых данных. Мне нужна еще одна "папка" в реестре, чтобы писать там "бесплатно".
Примеры кода:
REGKEY service(HKEY_LOCAL_MACHINE, TEXT("System\\CurrentControlSet\\Services"), KEY_READ, REGKEY::open);
REGKEY app(service, TEXT("my_application"), REGKEY::create);
// here comes error