Проблемы, связанные с разрешениями администратора процессов WindowsC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Проблемы, связанные с разрешениями администратора процессов Windows

Сообщение Anonymous »

Я очень мало знаю о Windows API, но теперь мне нужно реализовать с их помощью некоторые функции.
Прежде чем удалить файл, мне нужно проверить разрешение на запись текущей папки. Если для записи требуется разрешение администратора, для удаления используйте разрешение администратора. Если разрешение администратора не требуется, для удаления используйте права администратора.
Мой текущий процесс запущен с правами администратора. Как мне настроить разрешения текущего процесса?
Я использовал OpenProcessToken, LookupPrivilegeValue и AdjustTokenPrivilege, чтобы отключить разрешения SE_DEBUG_NAME процесса, а затем, когда я удалил файл, который не мог быть удален обычным пользователям файл действительно был удален. Кто-нибудь знает, где я ошибаюсь?
Разрешения для папок
Разрешения для файлов
#include
#include

bool SetPrivilege(bool bEnablePrivilege)
{
HANDLE hToken = nullptr;
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken))
{
std::cout

Подробнее здесь: https://stackoverflow.com/questions/782 ... ermissions
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»