Я очень мало знаю о 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