Форум: "WinAPI";
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];
ВнизУдалить директорию в NT и перезагрузка в NT Найти похожие ветки
← →
Алекс1 (2001-12-18 10:16) [0]Доброго времени суток.
Есть две проблемы:
- удаления уже пустой директории в NT. Если создал, а затем удалил, то все работает. Если хочешь удалить уже существующую, то не удаляет, ни RMDir ни RemoveDir.
- перезагрузка в NT. Проходит по команде ExitWindowsEx, но эффекта никакого.
Подскажите, пожалуйста
← →
panov (2001-12-18 10:29) [1]Для удаления каталогов и файлов в NT должны быть соответствующие привилегии.
"- перезагрузка в NT. Проходит по команде ExitWindowsEx, но эффекта никакого."
А какой должен быть эффект?
← →
Алекс1 (2001-12-18 12:37) [2]Должна быть перезагрузка!!! По крайней мере я так думал.
А как задать привелегии в программе, не подскажите?
Буду очень признателен. В NT вхожу как админ.
← →
panov (2001-12-18 13:36) [3]Для удаления каталога на NTFS нужно быть его владельцем(как правило)...
← →
Tosov (2001-12-18 23:22) [4]Для удаления каталога нужны права (которые в большинстве случаев, как сказал panov (18.12.01 13:36) есть у создателя/владельца каталога.
Выключение компа ( http://delphi.xonix.ru/faq/system/shutdown01.shtml )
procedure shutdown;
var
hToken:THandle;
tkp,PrevState:_TOKEN_PRIVILEGES;
k:DWORD;
begin
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,hToken);
// Получаем LUID для привилегии "SeShutdownPrivilege".
LookupPrivilegeValue(nil, "SeShutdownPrivilege", tkp.Privileges[0].Luid);
tkp.PrivilegeCount:=1;
tkp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
// Добавляем привилегию к нашему процессу
AdjustTokenPrivileges(hToken, FALSE, tkp, SizeOf(PrevState), PrevState, k);
ExitWindowsEx(EWX_FORCE+EWX_SHUTDOWN,0);
end;
← →
Алекс1 (2001-12-20 10:10) [5]Спасибо огромное за ответ по выключению.
Не подскажите, а как получить права на каталог, ведь я захожу как админ, и создавал каталоги то-же я, но ранее? А удалить их не могу.
Заранее спасибо.
← →
panov (2001-12-20 14:02) [6]Мой компьютер -> <Диск> -> <Каталог> -> <Свойства> -> <Владелец>
← →
Tosov (2001-12-20 23:25) [7]А может ты не пустой каталог удаляешь?? (Права по моему здесь непричем)
← →
Алекс1 (2001-12-24 17:01) [8]Таких свойств у директории как (Владелец) у меня в 2000-нике почему-то нет ???
Мой компьютер -> <Диск> -> <Каталог> -> <Свойства> -> <Владелец>
А каталог я точно пустой удаляю (точнее хочу это сделать). Сам создал поработал с файлами там, а затем нужно удалить. Но времени проходит много, так что прога по нескольку раз успевает перегружаться. А вот если сразу в одном запуске создаю и удаляю то работает!!!
Вот такая блин вечная молодость.
Спасибо за ответы.
← →
Алекс1 (2001-12-24 17:07) [9]Да чуть не забыл.
Выключение по прежнему не работает, зато позволяет хоть LogOff делать.
← →
Tosov (2001-12-24 23:43) [10]Таких свойств у директории как (Владелец) у меня в 2000-нике почему-то нет ???
Св-ва папки(правой кнопкой мыши)-Безопастность-Дополнительно-Владелец
Выключение по прежнему не работает, зато позволяет хоть LogOff делать..
Советую переустановить винду :-) или делиться кодом (особенно кодом удаления папки)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c