Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ShellExecute

2.2K
09 мая 2004 года
Фауст
29 / / 08.02.2004
Уважаемые как запустить exe файл? Я использую функцию ShellExecute(Form1->Handle,"","C:\\....\\....exe","","",1), но вот в чём проблема, если переместить этот файл, то он не запускается.
Что делать?
10
09 мая 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Фауст
Уважаемые как запустить exe файл? Я использую функцию ShellExecute(Form1->Handle,"","C:\\....\\....exe","","",1), но вот в чём проблема, если переместить этот файл, то он не запускается.


А почему он должен запускаться? Ты же путь в программе не меняешь ;)

2.2K
09 мая 2004 года
Фауст
29 / / 08.02.2004
Цитата:
Originally posted by smartsoft

А почему он должен запускаться? Ты же путь в программе не меняешь ;)



Мне нужна запустить exe файл но где он будет находится на другом компе я не знаю.
Как это сделать?
ShellExecute не подходит, так как он запускает файл только из определённого места.

10
10 мая 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Фауст
Мне нужна запустить exe файл но где он будет находится на другом компе я не знаю.


Что имеется в виду? Если не задан путь к файлу, ShellExecute пытается запусить программу, найдя ее через переменную среды PATH.
Кстати, почему нельзя предусмотреть настройку программы, в которой будет храниться путь к нужному файлу? И хранить данную настройку, скажем, в реестре...

2.2K
10 мая 2004 года
Фауст
29 / / 08.02.2004
Цитата:
Originally posted by smartsoft

Что имеется в виду? Если не задан путь к файлу, ShellExecute пытается запусить программу, найдя ее через переменную среды PATH.
Кстати, почему нельзя предусмотреть настройку программы, в которой будет храниться путь к нужному файлу? И хранить данную настройку, скажем, в реестре...




А как это сделать? Можно небольшой пример.

294
11 мая 2004 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Фауст

А как это сделать? Можно небольшой пример.


Этот примерчик открывает ini-файл в _рабочей_ папке программы и читает из него параметр Temporary, типа где временные файлы размещать (напоминаю: рабочая папка программы не всегда совпадает с папкой, в которой эта прога находится).

Код:
#include <inifiles.hpp>

{

    TIniFile *ini;
    AnsiString IniFileName;
    AnsiString s("C:\\TEMP");

    IniFileName = GetCurrentDir();
    if(IniFileName[IniFileName.Length()] != '\\')
        IniFileName += '\\';

    TempLocation = (ini = new TIniFile(IniFileName += ChangeFileExt(ExtractFileName(Application->ExeName),".INI")))->ReadString( "Database", "Temporary", s);
}

try-catch расставить по вкусу.
После работы кусочка этого кода в IniFileName содержится полный путь к ini-файлу (вдруг ещё раз понадобится?)

Записывать соответственно функциями WriteString, WriteInteger...
ЗЫ. Вышеприведённый код не тестировал, но, по идее, должно работать.
294
11 мая 2004 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Plisteron


Интересно, почему все двойные бэкслэши при постинге были заменены на одинарные?..

И, конечно, надо написать:

 
Код:
AnsiString TempLocation;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог