Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.11.2013, 12:55
saylar_06 saylar_06 вне форума
Прохожий
 
Регистрация: 08.06.2012
Сообщения: 33
Репутация: 10
По умолчанию Как программно удалить файл?

Доброго времени суток! Возник вот такой вот вопрос...
Операционная система Windows 8.1(UAC отключен), ну думаю что 7, 8 или 8.1 особо разницы не будет...

В общем программно копирую файл в c:/windows/system32/
CopyFile(PChar(dir+'\gg.dll'), PChar('C:\Windows\System32\gg.dll'), True);
Скопировался туда он без проблем даже админских прав не потребовал видимо UAC отключен из-за этого, теперь пытаюсь его удалить
(deleteFile('C:\Windows\System32\gg.dll')) ноль реакции файл на месте, запускал программу от имени администратора и ничего...

а вот если файл на C скопировать и попробовать удалить его то нужны будут права администратора...

Как его удалить из system32? путем Delphi хотелось бы но если без вариантов то можно и батом но как?
Ответить с цитированием
  #2  
Старый 19.11.2013, 12:57
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от saylar_06
Доброго времени суток! Возник вот такой вот вопрос...
Операционная система Windows 8.1(UAC отключен), ну думаю что 7, 8 или 8.1 особо разницы не будет...
Назови разрядность (битность) Windows и разрядность твоего приложения.
Ответить с цитированием
  #3  
Старый 19.11.2013, 13:26
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

GetLastError что гворит?
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #4  
Старый 19.11.2013, 14:22
saylar_06 saylar_06 вне форума
Прохожий
 
Регистрация: 08.06.2012
Сообщения: 33
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Назови разрядность (битность) Windows и разрядность твоего приложения.

windows x64 приложение пишу на этой же оз, приложение вроде как x32 сейчас это тестовое приложение просто тупо две строчки кода скопировать файл и удалить его...


Код:
  
CopyFile(PChar(dir+'\123.exe'),PChar('C:\Windows\System32\123.exe'), True); (удачно)
  ShellExecute(Application.Handle,PChar('open'),PChar('C:\Windows\System32\123.exe'),Nil,Nil,SW_SHOW); (удачно)

 WinExec(PANsiChar('TASKKILL /F /IM 123.exe'), SW_HIDE); (удачно)

  if (deleteFile('C:\Windows\System32\123.exe')) then (не удано)
    ShowMessage('Well done!')
  else
    ShowMessage('ERROR CODE: '+IntToStr(GetLastError)); 


Цитата:
Сообщение от NumLock
GetLastError что гворит?
код ошибки 2

Последний раз редактировалось M.A.D.M.A.N., 19.11.2013 в 14:43.
Ответить с цитированием
  #5  
Старый 19.11.2013, 14:29
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Не удается найти указанный файл
>>>>>>>>>>
Код:
  Windows.DeleteFile('C:\Windows\System32\gg.dll');
  ShowMessage(SysErrorMessage(GetLastError));
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #6  
Старый 19.11.2013, 14:37
saylar_06 saylar_06 вне форума
Прохожий
 
Регистрация: 08.06.2012
Сообщения: 33
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
>>>>>>>>>>

вы правы выходит ошибка не удатеся найти файл но файл на месте пробовал запускать от имени администратора и менял файлы ехе и dll ниего, не находит он, от чего так?
Ответить с цитированием
  #7  
Старый 19.11.2013, 14:45
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Тоже ваша тема
http://www.delphisources.ru/forum/sh...ad.php?t=25347
Объяснитесь, что вы пишете, что нужен доступ к системе и скрытие от антивирусов?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #8  
Старый 19.11.2013, 14:48
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от saylar_06
windows x64 приложение пишу на этой же оз, приложение вроде как x32 сейчас это тестовое приложение просто тупо две строчки кода скопировать файл и удалить его...
Цитата:
Сообщение от saylar_06
вы правы выходит ошибка не удатеся найти файл но файл на месте пробовал запускать от имени администратора и менял файлы ехе и dll ниего, не находит он, от чего так?
32-битные приложения под windows x64 эмулируются. В частности файловую систему и реестр 32-битные приложения видят несколько по-другому чем их видят 64-битные приложения (и не так как они есть на самом деле).
Вот например одна из ссылок на MSDN.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:18.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter