Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/32: Рейтинг темы: голосов - 32, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 18.08.2009
Сообщений: 101

Мини загрузчик для игры на С++

18.08.2009, 00:54. Показов 6477. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Я начал писать лаунчер для игры со следующими возможностями на с++.

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

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

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

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

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

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

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

с ссылкой у меня такая проблема
Error 1 error C2664: 'ShellExecuteW' : cannot convert parameter 2 from 'const char [5]' to 'LPCWSTR'
код на кнопку
C++
1
2
3
private: System::Void reg_Click(System::Object^  sender, System::EventArgs^  e) {
                ShellExecuteW(0, "open", "http://msn.com", 0, 0, 1);
             }
ставил L перед open и link не помогло, а вылезло еще 3 ошибки

а вот с запуском не могу понять как мне запустить в батники вот что
Windows Batch file
1
2
@echo off
start bin32/aion.bin-ip:127.0.0.1-ng -noweb
start bin32/aion.bin - путь до файла, который запускает клиент.
-ip:127.0.0.1 - адрисс сервака
-ng -noweb - заглушка на ссылку после закрытия клиента

и через батник клиент запускается все нормуль.
а как теперь запустить клиент через лаунчер не знаю(

помогите пожалуйста
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.08.2009, 00:54
Ответы с готовыми решениями:

Как написать бот для мини игры?
Всем привет! У меня такая ситуация, Я уезжаю на некоторое время из города, но мне нужно что бы я играл в мини игру! Вот ссылка! Warface:...

Простенькие мини игры для stm32+несколько кнопок+Nokia LCD
Может есть у кого готовое, типа flappy bird чего-нить? http://www.youtube.com/watch?v=1Fw0Agg0CKo Желательно сразу под STM. ...

Работа с bitmap и Graphics, нарисовать фигуры и движущиеся части для мини-игры
Суть игры: на нижней части поля квадратик(2х2), сверху идут полосы, с дырой под квадрат, нужно проходить в эти "проемы". На...

22
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
18.08.2009, 01:22
Цитата Сообщение от deathnoote Посмотреть сообщение
Error 1 error C2664: 'ShellExecuteW' : cannot convert parameter 2 from 'const char [5]' to 'LPCWSTR'
тебе же почти по-русски говорят - не знаю char[5]... надо LPCWSTR.. вот и приводи к этому типу... хотя бы тем же:
(LPCWSTR)"open"

Добавлено через 1 минуту 28 секунд
Цитата Сообщение от deathnoote Посмотреть сообщение
а как теперь запустить клиент через лаунчер не знаю(
C++
1
WinExec("bin32/aion.bin-ip:127.0.0.1-ng -noweb", SW_SHOW);
0
0 / 0 / 0
Регистрация: 18.08.2009
Сообщений: 101
18.08.2009, 08:37  [ТС]
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
тебе же почти по-русски говорят - не знаю char[5]... надо LPCWSTR.. вот и приводи к этому типу... хотя бы тем же:
(LPCWSTR)"open"
спс шас попробую так
Цитата Сообщение от Monte-Cristo Посмотреть сообщение

C++
1
WinExec("bin32/aion.bin-ip:127.0.0.1-ng -noweb", SW_SHOW);
а если мне нужно чтоб он этот айпи брал из файла ? так как в будущем будет еще и порт, то как тогда быть

Добавлено через 3 минуты 1 секунду
мндя ошибка за ошибкой, ( сделал так
ShellExecuteW(0, (LPCWSTR)"open", (LPCWSTR)"http://msn.com", 0, 0, 1);
теперь еще вылезли ошибки
Error 1 error LNK2028: unresolved token (0A00000F) "extern "C" struct HINSTANCE__ * __stdcall ShellExecuteW(struct HWND__ *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,int)" (?ShellExecuteW@@$$J224YGPAUHINSTANCE__@ @PAUHWND__@@PB_W111H@Z) referenced in function "private: void __clrcall Launcher::Form1::reg_Click(class System::Object ^,class System::EventArgs ^)" (?reg_Click@Form1@Launcher@@$$FA$AAMXP$A AVObject@System@@P$AAVEventArgs@4@@Z) Launcher.obj Launcher

Error 2 error LNK2019: unresolved external symbol "extern "C" struct HINSTANCE__ * __stdcall ShellExecuteW(struct HWND__ *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,int)" (?ShellExecuteW@@$$J224YGPAUHINSTANCE__@ @PAUHWND__@@PB_W111H@Z) referenced in function "private: void __clrcall Launcher::Form1::reg_Click(class System::Object ^,class System::EventArgs ^)" (?reg_Click@Form1@Launcher@@$$FA$AAMXP$A AVObject@System@@P$AAVEventArgs@4@@Z) Launcher.obj Launcher

Error 3 fatal error LNK1120: 2 unresolved externals
0
depict1
 Аватар для zim22
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
18.08.2009, 09:13
Цитата Сообщение от deathnoote Посмотреть сообщение
Error 1 error C2664: 'ShellExecuteW' : cannot convert parameter 2 from 'const char [5]' to 'LPCWSTR'
в настройках проекта поменяйте Unicode на MultiByte
0
10 / 10 / 5
Регистрация: 25.03.2009
Сообщений: 65
18.08.2009, 09:33
Или пиши
C++
1
L"open"
. Строка юникод, хотя может быть бок с константностью...
0
0 / 0 / 0
Регистрация: 18.08.2009
Сообщений: 101
18.08.2009, 11:41  [ТС]
Цитата Сообщение от zim22 Посмотреть сообщение
в настройках проекта поменяйте Unicode на MultiByte
не выходит, выстамил
в Character Set вот это Use Multi-Byte Character Set все это находится в general

делал и так
ShellExecuteW(0, (LPCWSTR)"open", (LPCWSTR)"http://msn.com", 0, 0, 1);
и так
ShellExecuteW(0, L"open", L"http://msn.com", 0, 0, 1);
и всеравно выдает эти ошибки
Error 1 error LNK2028: unresolved token (0A00000F) "extern "C" struct HINSTANCE__ * __stdcall ShellExecuteW(struct HWND__ *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,int)" (?ShellExecuteW@@$$J224YGPAUHINSTANCE__@ @PAUHWND__ @@PB_W111H@Z) referenced in function "private: void __clrcall Launcher::Form1::reg_Click(class System::Object ^,class System::EventArgs ^)" (?reg_Click@Form1@Launcher@@$$FA$AAMXP$A AVObject@S ystem@@P$AAVEventArgs@4@@Z) Launcher.obj Launcher

Error 2 error LNK2019: unresolved external symbol "extern "C" struct HINSTANCE__ * __stdcall ShellExecuteW(struct HWND__ *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,int)" (?ShellExecuteW@@$$J224YGPAUHINSTANCE__@ @PAUHWND__ @@PB_W111H@Z) referenced in function "private: void __clrcall Launcher::Form1::reg_Click(class System::Object ^,class System::EventArgs ^)" (?reg_Click@Form1@Launcher@@$$FA$AAMXP$A AVObject@S ystem@@P$AAVEventArgs@4@@Z) Launcher.obj Launcher

Error 3 fatal error LNK1120: 2 unresolved externals
так же не работает вот это
WinExec("bin32/aion.bin-ip:127.0.0.1-ng -noweb", SW_SHOW);
не запускает bin файл а exe все норм
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
18.08.2009, 11:51
Цитата Сообщение от deathnoote Посмотреть сообщение
WinExec("bin32/aion.bin-ip:127.0.0.1-ng -noweb", SW_SHOW);
ну тогда используй ShellExecute.
или пропиши сначала путь к программе, а потом
C++
1
WinExec("%program% bin32/aion.bin-ip:127.0.0.1-ng -noweb", SW_SHOW);
0
0 / 0 / 0
Регистрация: 18.08.2009
Сообщений: 101
18.08.2009, 11:54  [ТС]
я говарю что exe расширение запускает а bin нет

если aion.bin переименовать в aion.exe все нормально, но игра тогда при запуски сразу выдает ошибку а так не запускает( путь он видит я же его кидаю в корнивую папку игры.
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
18.08.2009, 12:09
Цитата Сообщение от deathnoote Посмотреть сообщение
я говарю что exe расширение запускает а bin нет
а я тебе говорю сделай так
C++
1
WinExec("%program% bin32/aion.bin-ip:127.0.0.1-ng -noweb", SW_SHOW);
где
%program% путь к exe файлу, которым ты открываешь bin. bin - не является исполняемым файлом в ОС Windows. Он может открываться только с помощью другой программы. ShellExecute, например, используют для этого программу по-умолчанию. WinExec такого не умеет, ему надо точно все задавать.
0
0 / 0 / 0
Регистрация: 18.08.2009
Сообщений: 101
18.08.2009, 13:21  [ТС]
ясно слишком много програм ( а если сделать так
ShellExecuteW(0,"open", "bin32/aion.bin", 0, 0, 1);
и что делать с ошибками я уже все перепробывал не помагает (

Добавлено через 31 минуту 25 секунд
так с ошибками разобрался подключил lib изаработало, но вот как запустить bin не использую бантик так как на данный мамен запускает его только он ( незнаю
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
18.08.2009, 13:32
deathnoote, ну если только батник запускает.. примени команду
C++
1
system("bin32/aion.bin -ip:127.0.0.1 -ng -noweb");
0
0 / 0 / 0
Регистрация: 18.08.2009
Сообщений: 101
18.08.2009, 13:56  [ТС]
по другому не как ?
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
18.08.2009, 14:02
ну собсно старт можешь дописать...
или батник выполнить... какое имя у твоего батника?
0
0 / 0 / 0
Регистрация: 18.08.2009
Сообщений: 101
18.08.2009, 14:22  [ТС]
play просто я не хочу через батник запускать, должен быть какойто спосаб запустить клиент через лаунчер а не через батник (

просто я хотел сделать так, с лаунчером идет файл в нем записано хост и в будущем порт, далее жмем на кнопку лаунчер берет путь хоста из этого файла скажем с названием localhost в это файле есть вот что st realmlist 127.0.0.1 и идет запуск клиента на этот вот самый хост и лаунчер закрывается

а шас получается это сразу в лаунчере

system("bin32/aion.bin -ip:127.0.0.1 -ng -noweb");
поставил start перед bin32 запустился клиент
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
18.08.2009, 14:31
deathnoote, я уже написал:
C++
1
system("start bin32/aion.bin-ip:127.0.0.1-ng -noweb");
это аналогично твоему батнику. Потому что, system - это выполнение команды из консоли. Если и это не работает, то ошибку ищи не здесь.

p.s: посмотри на свою строку, перадаваемую bin'арнику. у тебя даже перед -ip пробела не стоит. я надеюсь, у тебя там пробел стоит (я строку не исправлял, и показывал варианты так, как показал ты)
0
0 / 0 / 0
Регистрация: 18.08.2009
Сообщений: 101
18.08.2009, 20:45  [ТС]
нет это работает ) но потом клиент виснит ) через батник клиент не виснит, да пробелы стоят возможно реализовать то что я написал, чтоб шло считывания хоста с файла ну и после запуска лаунчер хакрывался я так полагаю простое Application::Exit(); не пойдет

Добавлено через 1 час 41 минуту 42 секунды
хм выяснил запуск на с++ производится созданием процесса) еще одна головоломка (

Добавлено через 4 часа 21 минуту 33 секунды
вот попробывал создать процесс
C++
1
2
3
4
5
6
7
8
9
10
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'
попробывал по другому
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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");
выдал ошибку
Error 1 error C3861: '_T': identifier not found
как исправить ?
0
0 / 0 / 0
Регистрация: 18.08.2009
Сообщений: 101
03.09.2009, 13:39  [ТС]
вот создал процесс
C++
1
2
3
4
5
6
7
8
9
10
11
STARTUPINFO cif;
    ZeroMemory(&cif,sizeof(STARTUPINFO));
    PROCESS_INFORMATION pi;
    if (CreateProcess("bin32/aion.bin",NULL,
        NULL,NULL,FALSE,NULL,NULL,NULL,&cif,&pi)==TRUE)
    {
        
        
        Sleep(1000);                // подождать
            
    }
теперь мне бы нужно сделать следующие
1) вывод сообщения что процесс не может быть создан.
2) чтения данных с файла где написано путь по которому нужно конектится клиенту и блок на вывод рекламы после закрытия клиента и открытия веб страницы.
как это сделать подскажиет ?
0
0 / 0 / 0
Регистрация: 18.08.2009
Сообщений: 101
09.09.2009, 16:03  [ТС]
ап темы
0
 Аватар для inter-admin
9715 / 6470 / 52
Регистрация: 06.03.2009
Сообщений: 28,500
09.09.2009, 16:15
deathnoote, заменяйте "апы" смысловыми сообщениями, например подойдет - "проблема актуальна".
0
0 / 0 / 0
Регистрация: 18.08.2009
Сообщений: 101
10.09.2009, 10:26  [ТС]
что за апы ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.09.2009, 10:26
Помогаю со студенческими работами здесь

Разработка мини игры)
Здравствуйте, сразу прошу прощения за тему скорей всего не в том разделе)) У меня вопрос к знающим людям. Нам сказали сделать...

Создание мини-игры c#
Надо сделать в C#. Дано несколько красных квадратов, расположенных в ряд. Необходимо перекрасить все красные квадраты в зеленый, щелкая на...

Составление мини-игры
Ситуация: ранее я работал с С++ только в исходном файле. С билдером по сути вижусь первый раз и пока плохо понимаю что к чему. Задание -...

Создание мини-игры
Пожалуйста помогите написать мини игру, а то никак не могу разобраться. Суть игры в том что на экране появляются числа в шариках, на...

Реализация мини игры в JavaScript
По нажатию кнопки старт объект совершает движение, на пути его движения встречаются препятствия, которые объект должен перепрыгнуть по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru