Всем привет. Пытаюсь записать в реестр в LOCAL_MACHINE в run. На ХР работает, на висте получаю Acess_Denied... Никто не знает как обойти? Только чтоб не сложно вот код: Код (Text): proc RegAdd invoke RegOpenKeyEx,HKEY_LOCAL_MACHINE,PathToSave,NULL,KEY_ALL_ACCESS,hKey cmp eax,0 jne @@Exit invoke RegSetValueEx,[hKey],KeyName,0,REG_SZ,Value,1024 cmp eax,0 jne @@Exit invoke RegCloseKey,[hKey] ret @@Exit: invoke MessageBox,0,0,0,0 ret endp
Ursus Гениально конечно ты ответил... =\ Lex2029 Права администратора есть? Как правило в висте все процессы запускаются с правами гостя, если при запуске явно не указывается, что нужны права администратора. Отключи UAC в консоли управления.
А можно прямо из программы явно указать, что нужны админ права? Если да, то как это сделать? Или в какую сторону искать идти? В МСДН совершенно незнакомую тему найти не получается
А поиск по сайту? Windows Vista :: программное отключение UAC http://www.wasm.ru/forum/viewtopic.php?id=25685
У меня первая рекция была такая же. Но после очередного похода к знакомым с починкой компа на полдня я ОЧЕНЬ заценил эту фичу, одним словом, для админов подарок от майкрасовта. Удивительно что они это не вмонтировали в 2003 (хотя в некоторых мс курсах навязчиво рекомендуют использовать user-а для администрирования с выходом в админа через линки или пакетные файлы).
Во-во! Очень классная функция. Но если подумать критично, в информационной войне, главное маскировка - спрятаться там, где замучаются искать. Опытный пользователь ставя висту в первую очередь отключает задалбывающий диалог, неопытный - или отказывает всем или ОЧЕНЬ доверчивый -> прячь там где такой диалог вылетает часто(инсталяторы...) и тоби пощастыть
Та надо бы придумать как эту штуку обойти, например в xp были дыры чтобы в p0 заходить, может и под вистой чонить такое найдётсо