Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск bin файла с нужными параметрами, Запустить bin файл программно без bat 
V
    Опции темы
XPyCT
Дата 24.1.2010, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 24.8.2007
Где: Moldova

Репутация: 10
Всего: 10



Здравствуйте ув участники форма!

есть игровой клиент для онлайн игры Айон

наши умельцы запускают его вот таким макаром, создавая бат файл со следующим содержимым

Код

start bin32\aion.bin -ip:127.0.0.1 -port:2106 -cc:7 -lang:Rus -noauthgg -noweb


Внимание вопрос!  smile 

как запустить тот же aion.bin с нужными параметрами (Ip Adres, port...) без использования бат файла!

ps: лично я его тоже запускаю ток своим методом  программно создаю бат файл, запускаю и через определенный интервал удаляю

вот пример содержимого ini файла
Код

[Instance]
ip=127.0.0.1
web=http://87.248.178.149/index.html
rez=194.146.135.218



Код

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 cPatch=ExtractFilePath(Application->ExeName)+ "bin32\\inition.ini";
    if(!FileExists(cPatch))
        {
            ShowMessage("тут я рассказываю людям что у них нема файла  с данными для коннекта");
        }
        else
        {
           //Sozdanie obiekta Ini
           Ini = new TIniFile(cPatch);
           cIP=Ini->ReadString("Instance", "ip", cIP);
           cWeb= Ini->ReadString("Instance", "web", cWeb);
           //:::::::::::::::::::::::::::::::::::::::::::::::
           String tmp="start bin32\\aion.bin -ip:"+cIP+" -port:2106 -cc:7 -lang:Rus -noauthgg -noweb";
           TStringList* Stroka =new TStringList;
           Stroka->Clear();
           Stroka->Add(tmp);
           Stroka->SaveToFile("start.bat");

           delete Stroka;

        }
}
//---------------------------------------------------------------------------


void __fastcall TForm1::btConnectClick(TObject *Sender)
{

   ExecBat =ExtractFilePath(Application->ExeName);
   //ShowMessage(ExecBat);

   char *p=new char[ExecBat.Length()];
   strcpy(p,ExecBat.c_str());



   char cmd[] = "cmd.exe /c start.bat";
    memset(&si, 0, sizeof(si));
    if(CreateProcess(0, cmd,
        NULL,NULL,FALSE,NULL,NULL, p,&si,&pi))
    {
        CloseHandle(pi.hThread);
        CloseHandle(pi.hProcess);
    }
    CloseFlag = !(CloseFlag);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{

if(CloseFlag)
  {
   DeleteFile("start.bat");
   Close();
  }

}
//---------------------------------------------------------------------------
 

рад услышать ваши советы или наработки если есть


Это сообщение отредактировал(а) XPyCT - 24.1.2010, 18:14
PM MAIL Skype   Вверх
586
Дата 24.1.2010, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 57
Всего: 146



С помощью CreateProcess можно запустить файл с любым расширением. Не вижу смысла делать bat-файл.
Код
char cmd[] = "bin32\\aion.bin -ip:127.0.0.1 -port:2106 -cc:7 -lang:Rus -noauthgg -noweb";
CreateProcess(0, cmd,
        NULL,NULL,FALSE,NULL,NULL, p,&si,&pi);

PM   Вверх
XPyCT
Дата 24.1.2010, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 24.8.2007
Где: Moldova

Репутация: 10
Всего: 10



Спасибо! + нажат!
А я побежал пробовать!

Добавлено @ 18:35
вопрос не подскажете что за параметр "p" или переменная (какого типа) 

 p,&si,&pi); 


Код
[C++ Error] Unit1.cpp(25): E2451 Undefined symbol 'p'


Это сообщение отредактировал(а) XPyCT - 24.1.2010, 18:36
PM MAIL Skype   Вверх
XPyCT
Дата 24.1.2010, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 24.8.2007
Где: Moldova

Репутация: 10
Всего: 10



В общем  0 заменил на NULL и p  тоже заменил на NULL   заработало!

вопрос про p остается в силе
PM MAIL Skype   Вверх
586
Дата 24.1.2010, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 57
Всего: 146



Цитата(XPyCT @  24.1.2010,  18:29 Найти цитируемый пост)
вопрос не подскажете что за параметр "p" или переменная (какого типа) 

текущая папка
Код
BOOL WINAPI CreateProcess(
  __in_opt     LPCTSTR lpApplicationName,
  __inout_opt  LPTSTR lpCommandLine,
  __in_opt     LPSECURITY_ATTRIBUTES lpProcessAttributes,
  __in_opt     LPSECURITY_ATTRIBUTES lpThreadAttributes,
  __in         BOOL bInheritHandles,
  __in         DWORD dwCreationFlags,
  __in_opt     LPVOID lpEnvironment,
  __in_opt     LPCTSTR lpCurrentDirectory,
  __in         LPSTARTUPINFO lpStartupInfo,
  __out        LPPROCESS_INFORMATION lpProcessInformation
);


Это сообщение отредактировал(а) 586 - 24.1.2010, 19:01
PM   Вверх
XPyCT
Дата 24.1.2010, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 24.8.2007
Где: Moldova

Репутация: 10
Всего: 10



спс вопрос закрыт
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0467 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.