Перейти к содержимому

Фото
- - - - -

С++ мини лаунчер


  • Вы не можете создать новую тему
  • Please log in to reply
15 ответов в этой теме

#1 Evil666

Evil666
  • Пользователь
  • 102 сообщений
  • Откуда:Тверь

Отправлено 17 Август 2009 - 20:04

здравствуйте. у меня такая проблема я не знаю как запустить bin файл и привязать этот запуск к кнопки и не знаю как привязать ссылку к кнопки.

1) первая кнопка запускает клиен( клиент запускается bin файлом, го то и нужно запустить)
2) вторя кнопка при нажатии отправляет на регистрацию то есть на страничку.

помогите пожалуйста с этими проблемами.

и подскажите наиболее полное руководство по с++ для начинающих
  • 0

#2 Evil666

Evil666
  • Пользователь
  • 102 сообщений
  • Откуда:Тверь

Отправлено 17 Август 2009 - 21:55

прбывал привязать линк к кнопки

private: System::Void reg_Click(System::Object^ sender, System:: EventArgs^ e) {

ShellExecuteW(0, "open", "http://msn.com", 0, 0, 1);
}


выдает эту ощибку

Error 1 error C2664: 'ShellExecuteW' : cannot convert parameter 2 from 'const char [5]' to 'LPCWSTR'


  • 0

#3 Vitalts

Vitalts
  • Постоялец
  • 1 842 сообщений

Отправлено 18 Август 2009 - 08:51


ShellExecute(NULL,TEXT("open"),TEXT("http://msdn.com"),NULL,NULL,SW_SHOWNORMAL);


  • 0

#4 Evil666

Evil666
  • Пользователь
  • 102 сообщений
  • Откуда:Тверь

Отправлено 18 Август 2009 - 09:47

делал я и так всеравно выходят эти ошибки

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$AAVObject@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$AAVObject@S ystem@@P$AAVEventArgs@4@@Z) Launcher.obj Launcher

Error 3 fatal error LNK1120: 2 unresolved externals

  • 0

#5 Vitalts

Vitalts
  • Постоялец
  • 1 842 сообщений

Отправлено 18 Август 2009 - 10:47

Не спроста в примере изменен адрес

ShellExecute(NULL,TEXT("open"),TEXT("http://msdn.com"),NULL,NULL,SW_SHOWNORMAL);

http://social.msdn.m...d-f60a1cec5184/

Сообщение изменено: Vitalts (18 Август 2009 - 10:48 )

  • 0

#6 Evil666

Evil666
  • Пользователь
  • 102 сообщений
  • Откуда:Тверь

Отправлено 18 Август 2009 - 11:09

спс а как запустить bin файл ? вот это в батнике start bin32/aion.bin

он запускает а как это реализовать в лаунчере ? пробывал так
ShellExecute(NULL,TEXT("run"),TEXT("bin32/aion.bin"),NULL,NULL,SW_SHOWNORMAL);

но не чего не происходит (
  • 0

#7 Vitalts

Vitalts
  • Постоялец
  • 1 842 сообщений

Отправлено 18 Август 2009 - 11:37

Очевидно, также как батником
ShellExecute(NULL,TEXT("open"),TEXT("start bin32/aion.bin"),NULL,NULL,SW_SHOWNORMAL);

  • 0

#8 Evil666

Evil666
  • Пользователь
  • 102 сообщений
  • Откуда:Тверь

Отправлено 18 Август 2009 - 11:40

ксожалению не проходит (
  • 0

#9 Vitalts

Vitalts
  • Постоялец
  • 1 842 сообщений

Отправлено 18 Август 2009 - 15:42

Предполагаю, что ничего не выходит вследствии того, что шелл не вкурсе, где бин лежит. Укажи полный путь к файлу.

Наверняка, батник запускался с той же папки, где и бин, переложи в другую и батник тоже перестанет работать.
  • 0

#10 Evil666

Evil666
  • Пользователь
  • 102 сообщений
  • Откуда:Тверь

Отправлено 18 Август 2009 - 16:37

неа батник находится в корневой, я выяснил это нужно запускать через создания процесса тока вот каким макором это сделать ?
  • 0

#11 Vitalts

Vitalts
  • Постоялец
  • 1 842 сообщений

Отправлено 19 Август 2009 - 08:56

CreateProcess
Если из батника запускаеться, то и shellexecute сделает это. Если под словами "запустить бин файл" имееться ввиду открытие файла в связанном с ним приложении (эффект двойного клика), то:
ShellExecute(NULL,TEXT("open"),TEXT("c:\aion.bin"),NULL,NULL,SW_SHOWNORMAL);
ShellExecute
  • 0

#12 Evil666

Evil666
  • Пользователь
  • 102 сообщений
  • Откуда:Тверь

Отправлено 19 Август 2009 - 19:19

нее не это, нужно запустить как процесс
  • 0

#13 Mr.Positive

Mr.Positive
  • Пользователь
  • 55 сообщений
  • Откуда:Tallinn

Отправлено 20 Август 2009 - 15:44

-

Сообщение изменено: Mr.Positive (20 Август 2009 - 15:46 )

  • 0
Bachelor's degree - In progress
TTÜ->IAPB 17

#14 Vitalts

Vitalts
  • Постоялец
  • 1 842 сообщений

Отправлено 21 Август 2009 - 08:53

бин как процесс? Ничего не путаешь? О каком файле реч, расскажика поподробнее. Под бином может много чего скрываться.
  • 0

#15 Evil666

Evil666
  • Пользователь
  • 102 сообщений
  • Откуда:Тверь

Отправлено 21 Август 2009 - 12:33

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

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


по этому нужно через процесс его !
  • 0

#16 Vitalts

Vitalts
  • Постоялец
  • 1 842 сообщений

Отправлено 21 Август 2009 - 13:50

Сцыль на описание CreateProcess я дал, ковыряй. Как вариант, можно запустить шеллом батник, который запускает бин :)
Пока больше ничем помочь не могу, не приходилось запускать исполняемые файлы с нестандартным разрешением.
  • 0