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

Ваш аккаунт

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

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

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

Help, please((((

9.1K
07 декабря 2004 года
Galaad
5 / / 07.12.2004
Люди!! Помогите!!!
Задача проста (но для меня оказалась не под силу). Есть CD, на нем есть файл setup.exe. Пишу autorun, но у меня получается жесткая привязка к имени CD-ROM'а:
ShellExecute(Handle,"open","g:\\setup.exe",NULL,NULL,SW_RESTORE);
Что можно сделать для того, чтобы привязка была гибкая???
Заранее огромное спасибо!
259
07 декабря 2004 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Galaad
Люди!! Помогите!!!
Задача проста (но для меня оказалась не под силу). Есть CD, на нем есть файл setup.exe. Пишу autorun, но у меня получается жесткая привязка к имени CD-ROM'а:
ShellExecute(Handle,"open","g:\\setup.exe",NULL,NULL,SW_RESTORE);
Что можно сделать для того, чтобы привязка была гибкая???
Заранее огромное спасибо!



Попробуй так:

 
Код:
[COLOR=Blue]
int driveNumber = getdisk();
char driveLet = 'A'+driverNumber;
AnsiString mySetupPath;
mySetupPath = driveLet+":\\setup.exe";
ShellExecute(Handle,"open",mySetupPath.c_str(),NULL,NULL,SW_RESTORE);
[/COLOR]
9.1K
07 декабря 2004 года
Galaad
5 / / 07.12.2004
Цитата:
Originally posted by AlexandrVSmirno


Попробуй так:
 
Код:
[COLOR=Blue]
int driveNumber = getdisk();
char driveLet = 'A'+driverNumber;
AnsiString mySetupPath;
mySetupPath = driveLet+":\\setup.exe";
ShellExecute(Handle,"open",mySetupPath.c_str(),NULL,NULL,SW_RESTORE);
[/COLOR]



Не хочет (((
Пишет следующее:
[C++ Error] Unit1.cpp(22): E2268 Call to undefined function 'getdisk'
[C++ Error] Unit1.cpp(23): E2451 Undefined symbol 'driverNumber'
[C++ Warning] Unit1.cpp(29): W8004 'driveNumber' is assigned a value that is never used

259
07 декабря 2004 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Galaad


Не хочет (((
Пишет следующее:
[C++ Error] Unit1.cpp(22): E2268 Call to undefined function 'getdisk'
[C++ Error] Unit1.cpp(23): E2451 Undefined symbol 'driverNumber'
[C++ Warning] Unit1.cpp(29): W8004 'driveNumber' is assigned a value that is never used



Извини еще #include <dos.h> нужно
и ошибочка во 2 строке, нужно так:
сhar driveLet = 'A'+driveNumber;

9.1K
07 декабря 2004 года
Galaad
5 / / 07.12.2004
Цитата:
Originally posted by AlexandrVSmirno


Извини еще #include <dos.h> нужно
и ошибочка во 2 строке, нужно так:
сhar driveLet = 'A'+driveNumber;



void __fastcall TForm1::StaticText1Click(TObject *Sender)
{
int driveNumber = getdisk();
char driveLet = 'A'+driveNumber;
AnsiString mySetupPath;
mySetupPath = driveLet+":\\setup.exe";
ShellExecute(Handle,"open",mySetupPath.c_str(),NULL,NULL,SW_RESTORE);
SecondForm->ShowModal();
}Млин, форму вторую он выдает, падлюка.. а вот с CD файл запускать не хочет (((
Ну в самом же деле, не прописывать:
{
ShellExecute(Handle,"open","g:\\setup.exe",NULL,NULL,SW_RESTORE);
}
для всех возможных имен CD-ROM'а (((

243
08 декабря 2004 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by Galaad
Люди!! Помогите!!!
Задача проста (но для меня оказалась не под силу). Есть CD, на нем есть файл setup.exe. Пишу autorun, но у меня получается жесткая привязка к имени CD-ROM'а:
ShellExecute(Handle,"open","g:\\setup.exe",NULL,NULL,SW_RESTORE);
Что можно сделать для того, чтобы привязка была гибкая???


Что то я не догоняю может, или просто нужно все усложнить? Авторан у тебя ведь находится на CD! Значит просто положи и сетап и авторан в один каталог (обычно это корневой) и не указывай в пути ничего кроме имени файла сетапа (setup.exe).

9.1K
08 декабря 2004 года
Galaad
5 / / 07.12.2004
Цитата:
Originally posted by pacific_7

Что то я не догоняю может, или просто нужно все усложнить? Авторан у тебя ведь находится на CD! Значит просто положи и сетап и авторан в один каталог (обычно это корневой) и не указывай в пути ничего кроме имени файла сетапа (setup.exe).



Проблема в том, что кроме setup.exe необходимо запустить еще 3-4 файла, который разбросаны по разным папкам CD

А нет, пасиб! Действительно зачем было делать сложнее ))))
Спасибо все еще раз!

1.6K
09 декабря 2004 года
Grom2025
82 / / 20.03.2003
Цитата:
Originally posted by Galaad


Проблема в том, что кроме setup.exe необходимо запустить еще 3-4 файла, который разбросаны по разным папкам CD

А нет, пасиб! Действительно зачем было делать сложнее ))))
Спасибо все еще раз!



На самом то деле всё очень просто...
Ты же свою программу запускаешь? А она знет в какой папочке всё лежит нам остаётся только кинуть autorun.exe в корень диска и написать

Код:
String path;

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  path = ExtractFilePath(Application->ExeName);
  if (path.LastDelimiter("\\")<path.Length())
  {path += "\\";};
}

void __fastcall TForm1::Button2Click(TObject *Sender)
{
  String Swop = path + "1C\\21_update\\B770021\\DISK1\\setup.exe";
  WinExec(Swop.c_str(),SW_SHOW);
}


и все, прибавляй к path все что хочеш!
9.1K
09 декабря 2004 года
Galaad
5 / / 07.12.2004
Цитата:
Originally posted by Grom2025


На самом то деле всё очень просто...
Ты же свою программу запускаешь? А она знет в какой папочке всё лежит нам остаётся только кинуть autorun.exe в корень диска и написать

Код:
String path;

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  path = ExtractFilePath(Application->ExeName);
  if (path.LastDelimiter("\\")<path.Length())
  {path += "\\";};
}

void __fastcall TForm1::Button2Click(TObject *Sender)
{
  String Swop = path + "1C\\21_update\\B770021\\DISK1\\setup.exe";
  WinExec(Swop.c_str(),SW_SHOW);
}


и все, прибавляй к path все что хочеш!



Спасибо!

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