Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2009, 09:28   #1
Next
Пользователь
 
Аватар для Next
 
Регистрация: 17.05.2009
Сообщений: 61
Вопрос Лаунчер для игры World of Warcraft

Здравствуйте,
Помогите создать лаунчер для игры World of Warcraft , чтобы в при клике в форме на Play запускался wow.exe (ярлык) , еше нужно сделать проверку версии игры и автоапдейт, если нужно. спасибо
Нужен дизайн? Тебе ко мне ICQ: 456-238-503
Next вне форума Ответить с цитированием
Старый 17.05.2009, 10:31   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

о5 25 Помогите или сделайте и скиньте мне ?
В чем собственно проблема ? Пока видно только "запрос".
BOBAH13 вне форума Ответить с цитированием
Старый 17.05.2009, 11:15   #3
Next
Пользователь
 
Аватар для Next
 
Регистрация: 17.05.2009
Сообщений: 61
По умолчанию

BOBAH13, я же написал помогите создать я вообще нуб, вот и прошу )) а если бы дали код готовый, то разобрался.
Нужен дизайн? Тебе ко мне ICQ: 456-238-503
Next вне форума Ответить с цитированием
Старый 17.05.2009, 13:18   #4
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Можете сделать так:
Код:
Uses
  ShellApi,...//Подключаем модуль
...
Const
TypeInfo: Array[0..9] Of String = ('CompanyName','FileDescription','FileVersion',    //Объявляем строковый масив
'InternalName','LegalCopyright','LegalTrademarks','OriginalFilename','ProductName',
'ProductVersion','Comments');
Function FileVersion(AFileName,Info: String): String; //Объявляем функцию
Var
SzName: Array[0..255] Of Char; //Объявляем переменные
P: Pointer;
Value: Pointer;
Len: UINT;
GetTranslationString: String;
FFileName: PChar;
FValid: boolean;
FSize: DWORD;
FHandle: DWORD;
FBuffer: PChar;
Begin
Try //Оператор исключений
FFileName:=StrPCopy(StrAlloc(Length(AFileName) + 1),AFileName); //Присваиваем имя файла 
FValid:=False; 
FSize:=GetFileVersionInfoSize(FFileName,FHandle); //Определяем размер структуры с информации о файле 
If FSize > 0 Then
Try
GetMem(FBuffer,FSize); //читаем память
FValid:=GetFileVersionInfo(FFileName,FHandle,FSize,FBuffer);//Загружаем в память эту структуру
Except
FValid:=False;
Raise;
End;
Result:='';
If FValid Then
VerQueryValue(FBuffer,'\VarFileInfo\Translation',P,Len) //Извлекаем отдельные поля 
//и дальше идут различные преобразования и проверки
Else
P:=Nil;
If P <> Nil Then
GetTranslationString:=IntToHex(MakeLong(HiWord(Longint(P^)),LoWord(Longint(P^))),8);
If FValid Then
Begin
StrPCopy(SzName,'\StringFileInfo\' + GetTranslationString + '\' + Info);
If VerQueryValue(FBuffer,SzName,Value,Len) Then
Result:=StrPas(PChar(Value));
End;
Finally
If FBuffer <> Nil Then
FreeMem(FBuffer,FSize);
StrDispose(FFileName);
End;
End;

//Версия файла т.е. игры
Procedure TForm1.Button1Click(Sender: TObject);
Begin
Label1.Caption:=(FileVersion(Edit1.Text,TypeInfo[2]));
End;
//Запуск игры. Путь к игре должен быть прописан в Edit
Procedure TForm1.Button2Click(Sender: TObject);
Begin
ShellExecute(Application.Handle,'Open',PChar(Edit1.Text),Nil,Nil,SW_SHOWDEFAULT);
End;
Всегда рад помочь!

Последний раз редактировалось Terran; 17.05.2009 в 14:37.
Terran вне форума Ответить с цитированием
Старый 17.05.2009, 13:47   #5
Next
Пользователь
 
Аватар для Next
 
Регистрация: 17.05.2009
Сообщений: 61
По умолчанию

Terran, объясни, если можешь или есть возможность, что и за что отвечает, тоесть мне интересна вот эта часть
Цитата:
Uses
ShellApi,...
...
Const
TypeInfo: Array[0..9] Of String = ('CompanyName','FileDescription','F ileVersion',
'InternalName','LegalCopyright','Le galTrademarks','OriginalFilename',' ProductName',
'ProductVersion','Comments');
Function FileVersion(AFileName,Info: String): String;
Var
SzName: Array[0..255] Of Char;
P: Pointer;
Value: Pointer;
Len: UINT;
GetTranslationString: String;
FFileName: PChar;
FValid: boolean;
FSize: DWORD;
FHandle: DWORD;
FBuffer: PChar;
Begin
Try
FFileName:=StrPCopy(StrAlloc(Length (AFileName) + 1),AFileName);
FValid:=False;
FSize:=GetFileVersionInfoSize(FFile Name,FHandle);
If FSize > 0 Then
Try
GetMem(FBuffer,FSize);
FValid:=GetFileVersionInfo(FFileNam e,FHandle,FSize,FBuffer);
Except
FValid:=False;
Raise;
End;
Result:='';
If FValid Then
VerQueryValue(FBuffer,'\VarFileInfo \Translation',P,Len)
Else
P:=Nil;
If P <> Nil Then
GetTranslationString:=IntToHex(Make Long(HiWord(Longint(P^)),LoWord(Lon gint(P^))),8);
If FValid Then
Begin
StrPCopy(SzName,'\StringFileInfo\' + GetTranslationString + '\' + Info);
If VerQueryValue(FBuffer,SzName,Value, Len) Then
Result:=StrPas(PChar(Value));
End;
Finally
If FBuffer <> Nil Then
FreeMem(FBuffer,FSize);
StrDispose(FFileName);
End;
End;
Нужен дизайн? Тебе ко мне ICQ: 456-238-503
Next вне форума Ответить с цитированием
Старый 17.05.2009, 14:42   #6
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Чтобы не засорять форум я изменил пост № 4 . Смотрите выше. Пояснил вкратце. А то много писать надо...
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 17.05.2009, 16:44   #7
Next
Пользователь
 
Аватар для Next
 
Регистрация: 17.05.2009
Сообщений: 61
По умолчанию

а где именно должна быть ссылка на файл, извини пожалуйста. я тупенький
Нужен дизайн? Тебе ко мне ICQ: 456-238-503
Next вне форума Ответить с цитированием
Старый 17.05.2009, 17:47   #8
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Там не ссылка должна быть, а путь. Ставите на форму компонент Edit и потом в него пишете полный путь к файлу.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 17.05.2009, 18:23   #9
Next
Пользователь
 
Аватар для Next
 
Регистрация: 17.05.2009
Сообщений: 61
По умолчанию

как называется это свойство?) где прописывать
Нужен дизайн? Тебе ко мне ICQ: 456-238-503
Next вне форума Ответить с цитированием
Старый 17.05.2009, 18:34   #10
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Вот написал по быстрому исходничёк: Launcher.rar Если что, то подправьте.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игры для сотовых Simply-Art Gamedev - cоздание игр: Unity, OpenGL, DirectX 14 20.07.2009 19:29
Warcraft 3. Проблема с патчем.(не поиск) Манжосов Денис :) Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 26.08.2008 22:47
игры для памяти Exclusive Свободное общение 4 30.01.2008 23:06
Игры для программистов! Rembo Свободное общение 17 29.12.2007 09:22