Форум по 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.
Ответить с цитированием
  #9  
Старый 19.11.2013, 15:01
saylar_06 saylar_06 вне форума
Прохожий
 
Регистрация: 08.06.2012
Сообщения: 33
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Тоже ваша тема
http://www.delphisources.ru/forum/sh...ad.php?t=25347
Объяснитесь, что вы пишете, что нужен доступ к системе и скрытие от антивирусов?

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

тут же просто тупо я привел код из пары строк и он не работает видимо нету доступа к system32?

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

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

Цитата:
Сообщение от saylar_06
никак не въеду тут ведь простое приложение которое скопировало просто файл (любой) открыло его и закрыло но удалить его не смогла так как считает что файла нету, это как понимать то?
Да. Windows x64 делает перенаправление в файловой системе для 32-битного приложения. На той странице, ссылку на которую я давал, снизу есть другая ссылка File System Redirector в котором объясняется это перенаправление.
Скомпилируй своё приложение на 64 бита - и оно будет видеть файловую систему так как она есть на самом деле, без каких либо перенаправлений.
Ответить с цитированием
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение:
saylar_06 (19.11.2013)
  #11  
Старый 19.11.2013, 15:10
saylar_06 saylar_06 вне форума
Прохожий
 
Регистрация: 08.06.2012
Сообщения: 33
Репутация: 10
По умолчанию

простым bat файлом и обычной строкой del C:\Windows\System32\123.exe вышла ошибка: Отказано в доступе! Запустив программу от имени администратора проблема была решена, хотелось бы увидеть Delphi решение этой проблемы. Может из Delphi вызвать эту команду и удалить? Будет ли этот вариант правильным?
Ответить с цитированием
  #12  
Старый 19.11.2013, 15:14
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от saylar_06
простым bat файлом и обычной строкой del C:\Windows\System32\123.exe вышла ошибка: Отказано в доступе! Запустив программу от имени администратора проблема была решена, хотелось бы увидеть Delphi решение этой проблемы. Может из Delphi вызвать эту команду и удалить? Будет ли этот вариант правильным?
На одно сообщение выше я тебе уже написал решение. Вот ещё ссылка по-русски по поводу перенаправлений в файловой систем.
Ответить с цитированием
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение:
saylar_06 (19.11.2013)
  #13  
Старый 19.11.2013, 15:15
Аватар для 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
Репутация: выкл
По умолчанию

Вы правила форума то читали?
Убедите меня, что вы не пишете вредоносное ПО, ибо по обеим вашим темам можно сделать вывод, что вы как раз таки пишете вредоносный код, раз вам нужен криптор для пряток от антивируса, а здесь вы в системные папки лезете.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #14  
Старый 19.11.2013, 15:30
saylar_06 saylar_06 вне форума
Прохожий
 
Регистрация: 08.06.2012
Сообщения: 33
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Вы правила форума то читали?
Убедите меня, что вы не пишете вредоносное ПО, ибо по обеим вашим темам можно сделать вывод, что вы как раз таки пишете вредоносный код, раз вам нужен криптор для пряток от антивируса, а здесь вы в системные папки лезете.

Зачем мне кого то убеждать да ещё и в чем то? Если бы я писал вредоносное ПО я бы наверное знал как спрятаться от антивируса или пошел бы на соответствующие форумы, мне что свои сорцы выложить? Читайте внимательно моя программа видима и действия выбирает пользователь! Разве вы видели вредоносное ПО? я нет, его только антивирусы видят... Сделайте обычное приложение на дельфи которое проверит есть ли программа в автозагруке и добавит его в реест и прогоните в Avast она выдаст троян, или же поток который своими вычислениями будет нагружать процессор, то то же... К тому же я всего то интерисовался вашими мнениями на счет криптора потому что никогда им не пользовался
Ответить с цитированием
  #15  
Старый 19.11.2013, 15:38
Аватар для 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
Репутация: выкл
По умолчанию

Цитата:
Сообщение от saylar_06
Читайте внимательно моя программа видима и действия выбирает пользователь! Разве вы видели вредоносное ПО?
Ткни меня носом в место, где это написано, я не вижу.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter