Перейти к содержимому
Zone of Games Forum
Evil Rico

Идентификация игр в Windows Vista

Рекомендованные сообщения

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX

в ней содержатся информация о играх, например:

Если в параметре ConfigInstallType стоит 4 значит игра не идентифицированна, если 3 значит идентифицированна, если 2 то на ней ещо и рейтинг производительности стоит.

Но если просто поменять циферку ничего е выйдет

Главное сдесь параметр ApplicationId и WMGameid именно сдесь хранится особенный номер по которому виста определяет что это за игра.

Собственно в честь этого я и создал тему, чтобы узнать что это ваабще за индефикаторы и как заставить узнавать игру

...И вот ещо

Vista Game Explorer Editor

Это сайт одной проги, каторая обманывает Game Explorer прога корявинькая но по крайней мере с помощью неё можно на любую игру поставить цЫвильный значок

Поделиться сообщением


Ссылка на сообщение

Может кто объяснит мне, почему напр. биошок не добовляется в WGE (там же инфа вшита?!), а Фабле берет данные из GameUXLegacyGDFs.dll нормально? Также эскизы не качатся.

ЗЫ. Есть апрельский directx sdk 2007,пишите кому надо.

Изменено пользователем matrixbbs

Поделиться сообщением


Ссылка на сообщение

matrixbbs

Потому, что пиратка.

Изменено пользователем FreoN

Поделиться сообщением


Ссылка на сообщение

FreoN

Пиратка? ОС или игры? Почему тогда после переустановки висты все снова работает?

Нашел решение проблемы загрузки эскизов к играм.

1. В IE7 вставить этот линк:

https://games.metaservices.microsoft.com/ga...WebService.asmx

2. После загрузки страницы с ошибкой, надо установить новый сертификат. Он находится в конце строки адреса в виде замка.

3. Щелкаем на замок устанавлием сертификат и все.

4. (возможно) Если у вас прокси в IE7, то надо будет установить общий ip с портом для всех протоколов.

PS. Работает для игр которые при запуске попадают автоматом в GameExplorer, без эскизов (как уменя).

Изменено пользователем matrixbbs

Поделиться сообщением


Ссылка на сообщение

Вот кусок скрипта правильной интеграции игры в WGE (все как Microsoft рекомендует)для Inno (на примере Mass Effect)

Spoiler

#define MainExe "{app}\MassEffectLauncher.exe"

#define GDFBinary "{app}\Binaries\MassEffectGDF.dll"

[Files]

Source: "GameuxInstallHelper.dll"; DestDir: "{app}"; Flags: overwritereadonly


type

TGUID = record

Data1: Cardinal;

Data2,

Data3: Word;

Data4: array [0..8] of char;

end;

function GenerateGUID(var GUID: TGUID): Cardinal;

external 'GenerateGUID@files:GameuxInstallHelper.dll stdcall setuponly';

function AddToGameExplorer(Binary: String; Path: String; InstallType: Integer; var GUID: TGUID): Cardinal;

external 'AddToGameExplorerA@files:GameuxInstallHelper.dll stdcall setuponly';

function CreateTask(InstallType: Integer; var GUID: TGUID; TaskType: Integer; TaskNumber: Integer; TaskName: String; Binary: String; Parameters: String): Cardinal;

external 'CreateTaskA@files:GameuxInstallHelper.dll stdcall setuponly';

function RetrieveGUIDForApplication(Binary: String; var GUID: TGUID): Cardinal;

external 'RetrieveGUIDForApplicationA@{app}\GameuxInstallHelper.dll stdcall uninstallonly';

function RemoveFromGameExplorer(var GUID: TGUID): Cardinal;

external 'RemoveFromGameExplorer@{app}\GameuxInstallHelper.dll stdcall uninstallonly';

function RemoveTasks(var GUID: TGUID): Cardinal;

external 'RemoveTasks@{app}\GameuxInstallHelper.dll stdcall uninstallonly';

const

PlayTask = 0;

SupportTask = 1;

var

GUID: TGUID;

procedure CurStepChanged(CurStep: TSetupStep);

var

Binary, MainExe: String;

begin

if CurStep = ssInstall then

GenerateGUID(GUID);

if CurStep = ssPostInstall then

begin

Binary:=ExpandConstant('{#GDFBinary}');

MainExe:=ExpandConstant('{#MainExe}');

AddToGameExplorer(Binary, ExpandConstant('{app}'), 3, GUID);

CreateTask(3, GUID, PlayTask, 0, 'Play', MainExe, '');

CreateTask(3, GUID, SupportTask, 0, 'BioWare Website', 'http://www.bioware.com/', '');

CreateTask(3, GUID, SupportTask, 1, 'Support WebSite', 'http://masseffect.bioware.com/route/me/pc/vt/cs/en/', '');

end;

end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);

var

Binary: String;

GUID: TGUID;

begin

if CurUninstallStep=usUninstall then

begin

Binary:=ExpandConstant('{#GDFBinary}');

RetrieveGUIDForApplication(Binary, GUID);

RemoveFromGameExplorer(GUID);

RemoveTasks(GUID);

UnloadDll(ExpandConstant('{app}\GameuxInstallHelper.dll'));

end;

end;

Поделиться сообщением


Ссылка на сообщение

Скрипт конешно класс, но он как то не на все гамы подходит, на какие то добавляется и все окей, а какие то добавляются и пишет Оценки отсутствуют (IsSigned=0), изза чего это вообще? Можно какнибудь параметр Guid перевести в String? тогда б можно самому былоб заставить IsSigned в 1 переключать.

Поделиться сообщением


Ссылка на сообщение

Evil Rico, скорее всего в GDFBinary нет инфы об оценке. А IsSigned это кажется немного другое (подписана игра или нет).

 

Spoiler

#define MainExe "{app}\MassEffectLauncher.exe"

#define GDFBinary "{app}\Binaries\MassEffectGDF.dll"

[setup]

AppName=My Program

AppVerName=My Program version

DefaultDirName={pf}\My Program

OutputDir=.

[Files]

Source: "GameuxInstallHelper.dll"; DestDir: "{app}"; Flags: overwritereadonly

Source: "MassEffectLauncher.exe"; DestDir: "{app}"; Flags: overwritereadonly

Source: "Binaries\MassEffectGDF.dll"; DestDir: "{app}\Binaries\"; Flags: overwritereadonly

[Registry]

Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{code:GetGUID}"; ValueType: DWord; ValueName: "IsSigned"; ValueData: "0"


type

TGUID = record

Data1: Cardinal;

Data2,

Data3: Word;

Data4: array [0..7] of char;

end;

function GenerateGUID(var GUID: TGUID): Cardinal;

external 'GenerateGUID@files:GameuxInstallHelper.dll stdcall setuponly';

function AddToGameExplorer(Binary: String; Path: String; InstallType: Integer; var GUID: TGUID): Cardinal;

external 'AddToGameExplorerA@files:GameuxInstallHelper.dll stdcall setuponly';

function CreateTask(InstallType: Integer; var GUID: TGUID; TaskType: Integer; TaskNumber: Integer; TaskName: String; Binary: String; Parameters: String): Cardinal;

external 'CreateTaskA@files:GameuxInstallHelper.dll stdcall setuponly';

function RetrieveGUIDForApplication(Binary: String; var GUID: TGUID): Cardinal;

external 'RetrieveGUIDForApplicationA@{app}\GameuxInstallHelper.dll stdcall uninstallonly';

function RemoveFromGameExplorer(var GUID: TGUID): Cardinal;

external 'RemoveFromGameExplorer@{app}\GameuxInstallHelper.dll stdcall uninstallonly';

function RemoveTasks(var GUID: TGUID): Cardinal;

external 'RemoveTasks@{app}\GameuxInstallHelper.dll stdcall uninstallonly';

function IntToHex(Int: Cardinal; Digits: Integer): String;

var

i, Digit: Integer;

ch: Byte;

begin

result:='';

for i:=0 to Digits-1 do

begin

digit:=Int mod 16;

Int:=Int div 16;

if digit<0 then

digit:=digit+16;

ch:=Ord('0')+digit;

if digit>9 then

ch:=ch+7;

result:=chr(ch)+result;

end;

end;

const

PlayTask = 0;

SupportTask = 1;

var

GUID: TGUID;

function GetGUID(S: String): String;

var

i: integer;

begin

result:='{'+IntToHex(GUID.Data1, 8)+'-'+IntToHex(GUID.Data2, 4)+'-'+IntToHex(GUID.Data3, 4)+'-'+IntToHex(Ord(GUID.Data4[0]), 2)+IntToHex(Ord(GUID.Data4[1]), 2)+'-';

for i:=2 to 7 do

result:=result+IntToHex(Ord(GUID.Data4), 2);

result:=result+'}';

end;

procedure CurStepChanged(CurStep: TSetupStep);

var

Binary, MainExe: String;

begin

if CurStep = ssInstall then

GenerateGUID(GUID);

if CurStep = ssPostInstall then

begin

Binary:=ExpandConstant('{#GDFBinary}');

MainExe:=ExpandConstant('{#MainExe}');

AddToGameExplorer(Binary, ExpandConstant('{app}'), 3, GUID);

CreateTask(3, GUID, PlayTask, 0, 'Play', MainExe, '');

CreateTask(3, GUID, SupportTask, 0, 'BioWare Website', 'http://www.bioware.com/', '');

CreateTask(3, GUID, SupportTask, 1, 'Support WebSite', 'http://masseffect.bioware.com/route/me/pc/vt/cs/en/', '');

end;

end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);

var

Binary: String;

GUID: TGUID;

begin

if CurUninstallStep=usUninstall then

begin

Binary:=ExpandConstant('{#GDFBinary}');

RetrieveGUIDForApplication(Binary, GUID);

RemoveFromGameExplorer(GUID);

RemoveTasks(GUID);

UnloadDll(ExpandConstant('{app}\GameuxInstallHelper.dll'));

end;

end;

Поделиться сообщением


Ссылка на сообщение

Спасибо большое, даже огромное спасибо, именно это меня и интересовало. У меня вот в самодельном GDFе для ре4 выставляется IsSigned=0 терь нормально сделаю

7b12d9158eaa.jpg

Вообще очень печально наблюдать как наши локализаторы паганят установку, Mass Effect, Unreal Tournament 3 - инфа не добавляется, приходится самому все делать.

Поделиться сообщением


Ссылка на сообщение

не прочитай я об этой программе ещё на thevista.ru, то не догадался бы, что реклама :)

Поделиться сообщением


Ссылка на сообщение
не прочитай я об этой программе ещё на thevista.ru, то не догадался бы, что реклама :)

Просто сделал страницу с кратким описанием и ссылкой на скачивание, а то ее стали выкладывать на рапиду и депозит, как варез какой-то. А прога-то бесплатная.

Поделиться сообщением


Ссылка на сообщение


  • Продвигаемые темы

  • Последние сообщения

    • Странный квест. Первые 2/3 неплохое космическое приключение. А последняя часть — хз что такое, разработчики не знали как это все вообще собрать что они там накрутили и сляпали что-то маловразумительное и банальное. 
    • Если импакт и отдача реализованы так как здесь, то это не вкусовщина, а просто неумелая реализация.  Взгляни на Сultic или на Black Mesa, там это сделано гораздо лучше, про “мой” Selaco я уж промолчу )  Я тоже очень люблю FPS, но в этот в отличии от многих, мне продолжать не захотелось, и это не вкусовщина, так как различать где это сделано хорошо, где средне, а где плохо, ,большого труда не составляет, так как, благо есть с чем сравнивать. Возможно тебе и остальным, кому игра зашла, этот момент не так важен, не знаю, но если я не ловлю кайфа от стрельбы в подобных играх, то нах в такие игры мне играть, даже если по остальным аспектам всё на высоте.
    • Это тупо вкусовщина. В твоем селако стрельба взята из современных шутеров. А вот эта картонная пальба из ion fury мне не нравится. При это я прошел достаточно шутеров из начала нулевых, и вот стрельба в фантоме как раз оттуда. Я бы вообще сказал страшное – пальба из базового орудия тут прям как во второй халве. Пистолет точно оттуда слизан. 
    • @james_sun здесь же главный элемент это стрельба, но она здесь реализовна плохо, не знаю какое слово подходит — криво, картонно, неинтересно, хуже чем в Ion fury. Посмотри демку Selaco и поймёшь о чём речь. Никто не говорит, что “веселье” нужно наваливать сразу, но реализация стрельбы уже видна, и сделано это прлохо — враги “картонные”, импакт не чувствуется, а стрельба в таких играх должна приносить удовольствие.  Взгляни как это в Brootal Doom выполнено, или в том же Selaco, который далеко не глупый шутерок где одно только мясо.
    • Этой Джаге будет сложно состязаться с третьей Джагой.  У меня есть определенные ожидания, касательно этой игры.  Но лучше бы шагнули в сторону 7.62. 
    • ЕГС опять дал с подливкой ? Все так и есть,исключительно “злые издатели!”
    • В пошаговые играть надо,по видосу фиг что поймёшь. Но я в принципе, за любой “пошаг”)
    • @piton4 , ion fury косит под игры первой половины 1990-х, phantom – под самый конец девяностых-начало двухтысячных. По ней это прям видно. И в шутерах той поры никто тебе не вываливал все веселье в первые полчаса. Игры раскрывались постепенно. В той же культовой халве ты вообще первые десят минут тупо едешь на тележке, и первые полчаса и даже больше ты бегаешь по базе и со всеми болтаешь, лол. 
        Тут очень похожая схема, хотя и заметно шустрее. Судя по комментам в стиме, народ с чего-то ждал очередное бездумное мясо, а получил куда более размеренный экшен. По мне так это гораздо лучше, чем вот это бесконечное пиксельное олдскул-месиво, которое уже изрядно утомило. А вот под сюжетные шутеры именно конца девяностых - начала нулевых никто почему-то косить не хочет. Вот это один из немногих примеров, тоже имеет право на жизнь. 
    • Учитывая, какой замечательный пост об отзывчивости замечательного издателя Serenity Forge был тут, на ЗоГе (снизили цену на DLC до жалких ~500 рублей), интересно было бы услышать мнение главного местного господина-аналитика, а какой же филиал этой американской компании виноват в этом (отсылочка на запрет раздачи/продажи DNF Duel в EGS). Ведь не сами же Эпики отбирают/запрещают игры так избирательно, правда ведь?
    • В 2022-м Институт развития интернета выделил проекту грант в размере 90 миллионов рублей. Отечественная Lipsar Studio обнародовала геймплейный ролик из грядущей тактики из грядущей пошаговой тактики Sparta 2035. Сообщается, что эта игра о солдатах удачи, борющихся с вымышленной террористической организацией под названием Даамат.
      События разворачиваются в Африке 2030-х годов, в условиях жесточайшего кризиса. Командиру отряда «Спарта» предстоит не только защищать Африку от террористов и разбираться в истинных причинах конфликта, но и лавировать между различными фракциями, желающими извлечь из войны максимальную выгоду. Несмотря на серьезный сеттинг, авторы обещают наличие в их игре юмора и отсылок к массовой культуре. Кроме того, тут будет некий «налет научной фантастики». Релиз игры состоится не раньше 4 квартала текущего года. В 2022-м Институт развития интернета выделил проекту грант в размере 90 миллионов рублей.
  • Изменения статусов

  • Лучшие авторы


Zone of Games © 2003–2024 | Реклама на сайте.

×