Перейти к содержимому
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, то не догадался бы, что реклама :)

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

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


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


  • Сейчас популярно

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

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

    • Господа! А не планируется ли порт данного перевода на Свич?
    • Вот упал очередной бустер,и я задался вопросом а насколько  с ними  прет..я посчитал начала года это 34. Сегодня 189 день получается каждые .5.5 дней примерно. Кто нибудь засекал у себя ? 
    • Не совсем понимаю, что вы хотите, но дерзайте. Я пока потихоньку продолжу перемалывать по строчке)
    • @SoniksoТы не против, если я займусь твоим недопереводом, а потом посмотрю, что там в новую версию добавили? (Версия анг. перевода, а не версия самой игры.)  Попытаюсь перевести
    • Скорее всего, потому что новые строки я добавлял только в TalkManager (Возможно ещё в MapTalkManager, не помню). С остальными никаких манипуляций не проводил.
    • Тупанул, там все-таки добавили новый текст, и придется искать его.
    • @Sonikso Ты абзацы делал в файлах? Потому что в твоем файле, например 1712 строк, а в английской версии 1721
    • Скорее всего, у этого расширения есть какой-то затуп конкретно с этой страницей, из-за чего оно прогружается с запозданием и, следовательно, работает.  Вот эту функцию не получится добавить. О связи со SteamDB отвечал на странице расширения, повторю здесь:

      Основная проблема со SteamDB связана со следующим правилом сайта: Перевод: SteamDB - это некоммерческий проект, который поддерживается силами энтузиастов. Обслуживание сайта уже отнимает у нас массу времени и сил. Разработка качественного API - это не только колоссальный труд, но и создание рисков для злоупотреблений, , бороться с которыми у нас нет возможностей. По этой же причине мы запрещаем автоматический сбор данных (скрапинг и парсинг) с нашего сайта. Рекомендуем вам получать всю информацию напрямую из Steam. 

      Официальный плагин SteamDB использует собственный эндпоинт ExtensionAppPrice. Он используется только для получения данных о минимальных ценах на страницах игр, т.е. он работает с одиночными запросами без батчей.  P.S. С недавних пор добавился дополнительный слой защиты. Т.е. эндпоинт отдаёт данные только расширениям по типу собственного расширения SteamDB, там дополнительные проверки со стороны сервера. При попытке получить данные через Userscript или даже через консоль или адресную строку, сервер сразу считает это за попытку скрапинга.

      P.S.2. Борьба со скрапингом, кстати, касается самого расширения. Когда человек открывает много страниц с играми за короткий промежуток времени - сервер блокирует получение цен даже через официальное расширение, воспринимая это как попытку скраппинга. Хотя это касается и прямого взаимодействия со SteamDB. Если всерьёз взяться за изучение страниц игр, переходя по ссылкам на самом SteamDB или используя его поисковую систему для изучения той же истории изменений - он аналогично повесит временный блок, считая это попыткой скрапинга. Всё жёстко, короче говоря.   В старой версии скрипта использовался агрегатор VGTimes.
      После появления функции агрегатора цен — другие агрегаторы были исключены (в том числе для того, чтобы не было проблем с правами и прочим).

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

      В перспективе могу попробовать добавить отсутствующие у нас: sous-buy igm  (Иностранные площадки, которые не принимают СБП/российские карты и т.д. не добавляю). С этой функцией нужно подумать. Добавить поиск этих элементов на странице, если нет — добавлять в том же виде.
  • Изменения статусов

    • Дмитрий Соснов  »  Tirniel

      Привет! ты разбираешься в компьютерном железе, сможешь помочь с советом по апгрейду старого компа?
      · 1 ответ
    • SHAMAH

      Куда вход на сайт убрали и ЗАЧЕМ? Хотел файл скачать, там только медленная загрузка и “зарегистрируйтесь”. Все. Пришлось вручную страницу входа прописывать.
      · 0 ответов
    • Nosferatu  »  behar

      Добрый вечер.
      Подскажите пожалуйста, у вас не осталось случайно исходников для фикса на широкоформатные мониторы для игры Vampire The Masquerade Redemption?
      Если да, то не могли бы вы ими поделиться, а если нет, то прошу прощенья что побеспокоил.
      Заранее спасибо.
      · 0 ответов
    • AlcoKolyic  »  makc_ar

      Здраствуйте! Извините, а можно попросить ссылку на место где можно взять перевод (патч или образ игры с переводом) El Shaddai: Ascension of the Metatron для ps3, пожалуйста? А то в теме к этой игре у меня не получилось найти работающие ссылки… Первая ведет в группу в которой удалены большинство постов, а пост с этой игрой ведет на сайт https://psnext.ru который сейчас не имеет отношения к видеоиграм. 
      · 0 ответов
    • oleg72  »  Boor

      https://www.skidrowcodex.net/fate-reawakened-goldberg/
      · 0 ответов
  • Лучшие авторы


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

×