лаунчер на с++
От: deathnoote2  
Дата: 18.08.09 12:21
Оценка:
Здравствуйте. Я начал писать лаунчер для игры со следующими возможностями на с++.

1) запуск игра при нажатии на кнопку

2) выбор сервера

3) ссылка на регистрацию при нажатии на кнопку

4) ссылка на адрес к сервера в отдельном файле и чтоб лаунчер брал откуда адрес и тем самым клиент конектится именно к этому адресу

5) вывод новостей берется из сайта

6) выход из лаунчера

6,3 пункты я сделал после чего перешел к запуску клиента

но с запуском у меня проблема
сделал вот что

system("start bin32/AION.bin -ip:127.0.0.1 -ng -noweb");


но это не проходит, как выяснилось поже нужно создать для bin файлы процесс а как сделать и что потом с ним дальше делать я не знаю так как начал изучать с++ совсем не давно.

помогите пожалуйста сделать процесс на запуск клиента.
Re: лаунчер на с++
От: Aretyk  
Дата: 18.08.09 13:22
Оценка:
Прочитайте эту статью, смотрите примеры в конце статьи, будут конкретные вопросы — задавайте.
http://msdn.microsoft.com/en-us/library/ms682425(VS.85).aspx
Re[2]: лаунчер на с++
От: deathnoote2  
Дата: 18.08.09 13:54
Оценка:
Здравствуйте, Aretyk, Вы писали:

A>Прочитайте эту статью, смотрите примеры в конце статьи, будут конкретные вопросы — задавайте.

A>http://msdn.microsoft.com/en-us/library/ms682425(VS.85).aspx

нашел этот код, как я понял из него он запускает процесс командного окна

CreateProcess(NULL, "C:\\Windows\\system32\\cmd.exe", "runBat.bat", NULL, FALSE, 0, NULL, NULL, &si, &pi);


вопросики такие

какую библиотеку нужно присоединить?
и что то еще нужно или достаточно этого кода, вставить его в кнопку и при нажатии вызавиться cmd ?
Re[3]: лаунчер на с++
От: deathnoote2  
Дата: 18.08.09 14:13
Оценка:
Здравствуйте, deathnoote2, Вы писали:

D>Здравствуйте, Aretyk, Вы писали:


A>>Прочитайте эту статью, смотрите примеры в конце статьи, будут конкретные вопросы — задавайте.

A>>http://msdn.microsoft.com/en-us/library/ms682425(VS.85).aspx

D>нашел этот код, как я понял из него он запускает процесс командного окна


D>
D>CreateProcess(NULL, "C:\\Windows\\system32\\cmd.exe", "runBat.bat", NULL, FALSE, 0, NULL, NULL, &si, &pi);
D>


D>вопросики такие


D>какую библиотеку нужно присоединить?

D>и что то еще нужно или достаточно этого кода, вставить его в кнопку и при нажатии вызавиться cmd ?

вот код кнопки,

private: System::Void play_Click(System::Object^  sender, System::EventArgs^  e) {
                  STARTUPINFO startupInfo = {0};
startupInfo.cb = sizeof(startupInfo);

PROCESS_INFORMATION processInformation;

            BOOL result = ::CreateProcess(NULL, TEXT("bin32/aion.bin"), TEXT("runBat.bat"), NULL, FALSE, 0, NULL, NULL, &startupInfo, &processInformation);
if(result == 0)
  throw std::runtime_error("Could not create process");
             }


и уменя вылезают эти ошибки
Error    1    error C2664: 'CreateProcessW' : cannot convert parameter 3 from 'const wchar_t [11]' to 'LPSECURITY_ATTRIBUTES'
Re[4]: лаунчер на с++
От: Aretyk  
Дата: 18.08.09 14:50
Оценка:
Попробуйте вот так, только путь поправьте:

STARTUPINFO startupInfo = {0};
startupInfo.cb = sizeof(startupInfo);
PROCESS_INFORMATION processInformation;
// Try to start the process
BOOL result = ::CreateProcess(
  NULL,
  _T("C:\\bin32\\AION.bin -ip:127.0.0.1 -ng -noweb"),
  NULL,
  NULL,
  FALSE,
  NORMAL_PRIORITY_CLASS,
  NULL,
  NULL,
  &startupInfo,
  &processInformation);

if(result == 0)  throw std::runtime_error("Could not create process");
Re[5]: лаунчер на с++
От: deathnoote2  
Дата: 18.08.09 15:06
Оценка:
A>
A>STARTUPINFO startupInfo = {0};
A>startupInfo.cb = sizeof(startupInfo);
A>PROCESS_INFORMATION processInformation;
A>// Try to start the process
A>BOOL result = ::CreateProcess(
A>  NULL,
A>  _T("C:\\bin32\\AION.bin -ip:127.0.0.1 -ng -noweb"),
A>  NULL,
A>  NULL,
A>  FALSE,
A>  NORMAL_PRIORITY_CLASS,
A>  NULL,
A>  NULL,
A>  &startupInfo,
A>  &processInformation);

A>if(result == 0)  throw std::runtime_error("Could not create process");
A>


выдало вот это
Error    1    error C3861: '_T': identifier not found


только путь лучге писать так bin32\aion.bin так как лаунчер будет в корневойпапке
так можно писать пут?
Re[6]: лаунчер на с++
От: Aretyk  
Дата: 19.08.09 00:06
Оценка:
Здравствуйте, deathnoote2, Вы писали:


A>>
A>>STARTUPINFO startupInfo = {0};
A>>startupInfo.cb = sizeof(startupInfo);
A>>PROCESS_INFORMATION processInformation;
A>>// Try to start the process
A>>BOOL result = ::CreateProcess(
A>>  NULL,
A>>  _T("C:\\bin32\\AION.bin -ip:127.0.0.1 -ng -noweb"),
A>>  NULL,
A>>  NULL,
A>>  FALSE,
A>>  NORMAL_PRIORITY_CLASS,
A>>  NULL,
A>>  NULL,
A>>  &startupInfo,
A>>  &processInformation);

A>>if(result == 0)  throw std::runtime_error("Could not create process");
A>>


D>выдало вот это

D>
D>Error    1    error C3861: '_T': identifier not found    
D>


D>только путь лучге писать так bin32\aion.bin так как лаунчер будет в корневойпапке

D>так можно писать пут?

_T() объявлено как TEXT() в tchar.h, я его использую для краткости. Вы можете писать TEXT().
Если запускающая программа находится в том же каталоге, что и AION.bin, то можно путь не указывать. Смотрите описание второго параметра.
Re[4]: лаунчер на с++
От: Аноним  
Дата: 20.08.09 20:16
Оценка:
Здравствуйте, deathnoote2.

Раз уж используете .NET, то может посмотреть вот на это:
http://msdn.microsoft.com/en-us/library/h6ak8zt5.aspx
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.