Im пытается получить право собственности на uxtheme.dll в моих окон 8.1 system32 папка программно (C++). Я читал, пробовал и гугл в течение нескольких часов, но не мог найти решение. Каждый раз, когда свойство uxtheme установлено, оно не отображается на вкладке свойств. Собственность и полные права всегда наследуются доверенным установщиком., взяв на себя ответственность за uxtheme.dll в C++ и выиграть 8.1
Я пробовал его с system("takeown /f C:\Windows\system32\uxtheme.dll")
, который печатает успех, но, к сожалению, не работает.
То же самое относится к функции TakeOwnership()
из msdn. [http://msdn.microsoft.com/en-us/library/windows/desktop/aa379620%28v=vs.85%29.aspx]
Что мне нужно сделать, чтобы наследовать право собственности на местное admin, так что я могу отключить эту DLL? Защита ресурсов имеет к этому какое-либо отношение?
Как только право собственности будет установлено, я смогу заменить dll на MoveFileEx()?
большое спасибо, Lody
Когда вы используете функцию 'system', он создает * новый * процесс для команды, поэтому он не будет работать. –
Что касается функции 'TakeOwnership', как и для любой другой системной функции, вам нужно проверить *, почему она не работает. Это делается с помощью функции ['GetLastError'] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms679360%28v=vs.85%29.aspx) (обратите внимание: только вызов if функция фактически не удалась). См. [Здесь список кодов ошибок] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms681381%28v=vs.85%29.aspx). –
Благодарим вас за быстрый тент! Так что я должен использовать WinExec() или ShellEexecute()? Как я сказал, это не сработает. Он завершает работу с сообщением «DACL изменено успешно». – lody