Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2011, 16:03   #1
detalik
Форумчанин
 
Регистрация: 05.04.2011
Сообщений: 115
По умолчанию RenameFile

Хочу переименовать файл exe, собственно саму программу. Для этого в oncreate написал
Код:
RenameFile(GetcurrentDir +'\project1.exe';Getcurrentdir +'\svhost.exe');
.Ругается statemet exprcted...чтобы это могло значить? Просто вручную задать путь мне не прокатит, а если файл будет запускаться из другой директории?... Помогите. Спасибо
detalik вне форума Ответить с цитированием
Старый 21.10.2011, 16:07   #2
haruhi
Форумчанин
 
Аватар для haruhi
 
Регистрация: 05.10.2011
Сообщений: 368
По умолчанию

самого себя переименовать не получится. способы есть, но это изврат
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
haruhi вне форума Ответить с цитированием
Старый 21.10.2011, 16:11   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а по ошибке, вообще то запятая разделитель параметров.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.10.2011, 16:18   #4
detalik
Форумчанин
 
Регистрация: 05.04.2011
Сообщений: 115
По умолчанию

Да с запятой я разобрался, переименовать то переименовывает, а процессах все равно висит как project1.exe. Помогите что делать..?...
detalik вне форума Ответить с цитированием
Старый 21.10.2011, 16:24   #5
haruhi
Форумчанин
 
Аватар для haruhi
 
Регистрация: 05.10.2011
Сообщений: 368
По умолчанию

функция просто создаёт копию вот и всё.
как вариант, перезапуститься. запустить переименованную копию и самой закрыться
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
haruhi вне форума Ответить с цитированием
Старый 21.10.2011, 16:36   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

да кстати,
Код:
GetcurrentDir
это текущая директория, которая может быть любой(посмотрите в свойства ярлыка, там это названо как рабочая папка, и её можно сменить)
если вам нужен путь к вашему приложению то есть ParamStr(0)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.10.2011, 16:49   #7
detalik
Форумчанин
 
Регистрация: 05.04.2011
Сообщений: 115
По умолчанию

16:49
Цитата:
как вариант, перезапуститься. запустить переименованную копию и самой закрыться
И как это программно воплотить?

16:53
Цитата:
если вам нужен путь к вашему приложению то есть ParamStr(0)
Это тог8да через CurrentDirectory? через CurrentDirectory я пробовал, но у меня не получилось..

Есть кнопка "Правка" и есть правила раздела, за нарушение которых...
получается красная карточка...

Последний раз редактировалось mihali4; 21.10.2011 в 17:52.
detalik вне форума Ответить с цитированием
Старый 21.10.2011, 16:56   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Это тог8да через CurrentDirectory? через CurrentDirectory я пробовал, но у меня не получилось..
Я же написал - ParamStr(0) вернет полный путь до самого себя.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось mihali4; 21.10.2011 в 17:53.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.10.2011, 13:56   #9
roperd
Пользователь
 
Регистрация: 14.07.2011
Сообщений: 44
По умолчанию

Вирус создаёшь что-ли?=))
Проще всего наверное сделать так:
RenameFile(Application.ExeName, ExtractFilePath(ParamStr(0)) +'\svhost.exe');

Последний раз редактировалось roperd; 23.10.2011 в 13:58.
roperd вне форума Ответить с цитированием
Старый 23.10.2011, 14:22   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Сообщение от haruhi Посмотреть сообщение
самого себя переименовать не получится. способы есть, но это изврат
А вот не надо..
При запуске, exe проецируется windows в память. А что будет с тем, что на диске, ему до лампочки. Можно хоть на ушах стоять(Надоело стоять? тогда присядте.... ).

Последний раз редактировалось Человек_Борща; 23.10.2011 в 14:25.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RenameFile код ошибки 2 ArtGrek Общие вопросы Delphi 2 03.02.2011 10:41
Не работает функция ReNameFile maloun Общие вопросы Delphi 2 10.01.2011 12:11