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

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

Как удалить используемый файл? [D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]


Deleter_low ©   (2004-01-28 15:22:00) 

Подскажите пожалуйста, как удалить файл, который используется? Программно? Ну ООООЧЕНЬ надо!!!


TankMan   (2004-02-22 22:49:00) [1]

А что на счет 9х? Насколько я понял, этот пример применим только для НТ подобных систем?


Vit@ly   (2004-01-28 17:17:00) [2]

Function SetPrivilege(aPrivilegeName: String; aEnabled: Boolean ): Boolean;
Var TPPrev,
     TP: TTokenPrivileges;
     Token: THandle;
     dwRetLen: DWord;
Begin
Result:=False;
OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, Token);
TP.PrivilegeCount:=1;
IF LookupPrivilegeValue(nil,PChar(aPrivilegeName),TP.Privileges[0].LUID ) then
 Begin
  IF aEnabled then TP.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED
              else  TP.Privileges[0].Attributes:=0;
  dwRetLen:= 0;
  Result:=AdjustTokenPrivileges(Token,False,TP,SizeOf(TPPrev),TPPrev,dwRetLen);
 End;
CloseHandle(Token);
End;

Дык ты ведь дополнительно попросишь и как применять


Deleter_low   (2004-01-28 17:11:00) [3]

Ты здесь выложи. Если авторское просто копирайт поставь.


Vit@ly   (2004-01-28 17:07:00) [4]

Не моя идея, загляни в ФАК на Форум на Исходниках.Ru
или выложи мыло - перешлю


Deleter_low   (2004-01-28 17:04:00) [5]

Какие привилегии?


Vit@ly   (2004-01-28 17:01:00) [6]

ИМХО для этого необходимо написать  функцию, которая при возможности даст эти привилегии, а затем уже продолжать


Deleter_low   (2004-01-28 16:55:00) [7]

Кажется это делается через ShFileOperation... Я видел где-то это, но где не помню... Млин, так всегда - когда надо фиг найдешь!


Vit@ly   (2004-01-28 16:50:00) [8]

Можно попробовать дать себе ссответствующие привелегии, закрыть файл, а затем удалить.  Уточнюсь, сам не проверял


Deleter_low   (2004-01-28 16:46:00) [9]

Нет, хочу сам научиться. Здесь уже дело принципа... :)))


Agent13   (2004-01-28 16:43:00) [10]

А не проще к антивирусу апдейт скачать?


Deleter_low   (2004-01-28 16:39:00) [11]

Пишу программу для удаления I-Worm.Mydoom


Woodpecker   (2004-01-28 16:34:00) [12]

Зачем?


Deleter_low   (2004-01-28 16:21:00) [13]

Хотелось бы именно API функцию для этого... Батник и через RunOnce мне не подходит...


Наверх

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