Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Удалить директорию в NT и перезагрузка в NT [D5, NT4, Win2k]


Алекс1 ©   (2001-12-18 10:16:00) 

Доброго времени суток.

Есть две проблемы:
- удаления уже пустой директории в NT. Если создал, а затем удалил, то все работает. Если хочешь удалить уже существующую, то не удаляет, ни RMDir ни RemoveDir.
- перезагрузка в NT. Проходит по команде ExitWindowsEx, но эффекта никакого.

Подскажите, пожалуйста


Tosov   (2001-12-24 23:43:00) [1]

Таких свойств у директории как (Владелец) у меня в 2000-нике почему-то нет ???
Св-ва папки(правой кнопкой мыши)-Безопастность-Дополнительно-Владелец

Выключение по прежнему не работает, зато позволяет хоть LogOff делать..

Советую переустановить винду :-) или делиться кодом (особенно кодом удаления папки)


Алекс1   (2001-12-24 17:07:00) [2]

Да чуть не забыл.
Выключение по прежнему не работает, зато позволяет хоть LogOff делать.


Алекс1   (2001-12-24 17:01:00) [3]

Таких свойств у директории как (Владелец) у меня в 2000-нике почему-то нет ???
Мой компьютер -> <Диск> -> <Каталог> -> <Свойства> -> <Владелец>

А каталог я точно пустой удаляю (точнее хочу это сделать). Сам создал поработал с файлами там, а затем нужно удалить. Но времени проходит много, так что прога по нескольку раз успевает перегружаться. А вот если сразу в одном запуске создаю и удаляю то работает!!!
Вот такая блин вечная молодость.

Спасибо за ответы.


Tosov   (2001-12-20 23:25:00) [4]

А может ты не пустой каталог удаляешь?? (Права по моему здесь непричем)


panov   (2001-12-20 14:02:00) [5]

Мой компьютер -> <Диск> -> <Каталог> -> <Свойства> -> <Владелец>


Алекс1   (2001-12-20 10:10:00) [6]

Спасибо огромное за ответ по выключению.
Не подскажите, а как получить права на каталог, ведь я захожу как админ, и создавал каталоги то-же я, но ранее? А удалить их не могу.
Заранее спасибо.


Tosov   (2001-12-18 23:22:00) [7]

Для удаления каталога нужны права (которые в большинстве случаев, как сказал 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;







panov   (2001-12-18 13:36:00) [8]

Для удаления каталога на NTFS нужно быть его владельцем(как правило)...


Алекс1   (2001-12-18 12:37:00) [9]

Должна быть перезагрузка!!! По крайней мере я так думал.
А как задать привелегии в программе, не подскажите?
Буду очень признателен. В NT вхожу как админ.


panov   (2001-12-18 10:29:00) [10]

Для удаления каталогов и файлов в NT должны быть соответствующие привилегии.

"- перезагрузка в NT. Проходит по команде ExitWindowsEx, но эффекта никакого."

А какой должен быть эффект?


Наверх

Титульная страница Поиск, карта сайта Написать письмо