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

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

Как удалить неудаляемый файл. [D6, WinXP]


programmerts ©   (2002-07-12 19:38:00) 

Мне нужно удалить пару файлов, занятых другим приложением.
А также надо удалить мою *.dll.
Как это зделать.
Желательно с примером.
Заранее спасибо.


programmerts   (2002-07-15 19:40:00) [1]

Да после перегрузки, я знаю как, но если удалять много файлов сразу.
Что удалить можно без болезненно я знаю, на С++, знакомый делал, в Windows надо какую-то dll отключить, а после удаления опять подключить, но вот какую?


LENIN INC   (2002-07-12 21:18:00) [2]

Используемый файл нельзя удалить! Но можно удалить после перезагрузки компьютера, прописав
его в ключ реестра RUNONCE. После перезагрузки компьютера выполняется действие, определенное в этом ключе, а потом данные из него удаляются автоматом. Вот что должно быть прописано:

command.com /c del "Путь/ИмяФайла"

Вот код, разбирайся.

uses
Registry;

//функция занесения в реестр инфы
PROCEDURE RUNONSTARTUP(SPROGTITLE, SCMDLINE : STRING; BRUNONCE : BOOLEAN );
VAR
SKEY : STRING;
REG : TREGINIFILE;
BEGIN
IF( BRUNONCE )THEN SKEY := "ONCE"
ELSE SKEY := "";
REG := TREGINIFILE.CREATE( "" );
REG.ROOTKEY := HKEY_LOCAL_MACHINE;
REG.WRITESTRING(
"SOFTWARE\MICROSOFT"
+ "\WINDOWS\CURRENTVERSION\RUNONCE"
+ SKEY + #0,
SPROGTITLE,
SCMDLINE );
REG.FREE;
END;

//По нажатию кнопки...
procedure TForm1.Button1Click(Sender: TObject);
begin
if Application.MessageBox("Удалить файл и перезагрузить машину?","Заголовок окна", MB_YESNO)
= ID_YES then
begin
RUNONSTARTUP("Удаление...", "command.com /c del " +(""")+(ИмяФайла)+("""), false );
ExitWindowsEx(EWX_REBOOT,0);
end
else
Exit;
end;


Вот это - (""") - нужно для поддержки command.com длинного пути. Так ты сможешь удалить файл, который находится в любом каталоге и с любым именем - длинным или коротким.


Anatoly Podgoretsky   (2002-07-12 19:53:00) [3]

Как убить Дункан МакЛауда?


BAY   (2002-07-12 19:43:00) [4]

убей приложение


Наверх

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