Перейти к содержимому
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 прога корявинькая но по крайней мере с помощью неё можно на любую игру поставить цЫвильный значок

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


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

А есть более удобная вещь - Game Explorer Manager. Можно найти через Google.

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


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

Evil Rico

Тоже задавался этим вопросом и вот к чему пришел:

Чтобы добавить игру в Game Explorer нужно чтобы игра содержала информацию о рейтинге ESRB, жанре, сис. требованиях, сайтах издателя/разрботчика и т.д. Обычно эта информация хранится в ехе-шнике игры или в специальных библиотеках. Проверить это можно с помощью вьюверов ресурсов (Restorator, PE Explorer и т.д.). Открыв ехе или dll с помощью такой программы, можно будет увидеть такие ресурсы: __GDF_THUMBNAIL и __GDF_XML. Первый содержит картинку, а второй текстовую информацию об игре. Так вот как раз из __GDF_XML нам понадобится значение "GameDefinition gameID", которое является уникальным для каждой игры. Затем, как ты верно заметил, нужно внести информацию в реестр, а именно в ветке "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{ИГРА}" создать следующие ключи:

ConfigApplicationPath={путь к игре}

Title={название игры}

ConfigInstallType={с этим ты сам разобрался}

AppExePath={имя exe или dll с информацией}

ApplicationId={тот самый GameDefinition gameID}

ConfigGDFBinaryPath={полный путь к exe или dll с информацией}

IsSigned=dword:1

Затем нужно создать ярлыки для запуска. В папке "C:\Users\{имя_пользователя}\AppData\Local\Microsoft\Windows\GameExplorer" нужно создать папку с именем как в реестре ({ИГРА}) в ней папку PlayTasks, в PlayTasks создать папку 0, а в папке 0 содать ярлык "Play" на запуск игры.

После этого игра должна добавиться в Game Explorer.

PS в качестве значения {ИГРА} лучше использовать GameID(не путать с GameDefinition gameID) от установщика игры.

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


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

Я так понял что на старые игры информация содержится в C:\Windows\system32\GameUXLegacyGDFs.dll

А что ещо за ключик такой WMGameId, как раз он стоит в тех играх у которых нет инфы в GameUXLegacyGDFs.dll

З.Ы. Для гам ещо есть описание (Description) чот я его в гейм експлорере не заметил, где оное читается ваабще?

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

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


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

Кароче всё упирается в создание файла с инфой про гаму, есть прога называемая GDF maker'ом http://msdn2.microsoft.com/en-us/library/ms687219.aspx ана входит в состав DirectX SDK и отдельно от него не качается, а мне с моим GPRS 400 мегов не скачать, карочь народ у каво стоит СДК выложите ГДФ Мэйкер плиз

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


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

А еще есть специальная библиотека, для программ-установщиков (Inno, NSIS, InstallShield) чтобы игра добавлялась в Game Explorer еще на стадии установки.

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


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

Unc1e чо за библиотека?

Во составил пошаговую инструкцию как добовлять игры в гейм експлорер на примере биошока:

1. Тупо кидаем ярлык в папку игры

2. Врубаем PE Explorer и открываем им bioshock.exe, переходим в раздел Resource Viewer, открываем папку data, потом открываем _GDF_XML, выбираем там любую цыфорку (там идут 1024, 1031, 1033, 1034, 1036, 1040), видим там строчку <GameDefinition gameID="{626DCEE9-781B-49D7-81C0-C41CCC9386F7}">

копируем {626DCEE9-781B-49D7-81C0-C41CCC9386F7}, со скобками но без ковычек

3 Нажимаем Win+R и в появившемся окошке вводит Regedit, ищем адрес, он должен быть примерно такой HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\S-1-5-21-3292720868-1703521539-3581440055-1000\{10BAC0BE-3FB5-4B87-844E-561EDE59B95B}

4. Вставляем заранее скопированный gameid ({626DCEE9-781B-49D7-81C0-C41CCC9386F7}) в параметр ApplicationId

5. В параметр AppExePath вводим адрес EXE файла биошок например D:\games\Bioshock\Builds\Release\bioshock.exe

6. ConfigApplicationPath - пишем где EXE лежит например D:\games\Bioshock\Builds\Release\

7. ConfigGDFBinaryPath опять пишем адрес EXE файла D:\games\Bioshock\Builds\Release\bioshock.exe

8. ConfigInstallType ставим 2

9. IsSigned(параметр DWORD) ставим 1

Примечание к пункту 7

Это относится больше к новым играм, когда информация содержится в EXE, ана может быть и в DLL валяющихся в папке с игрой, открывайте все подряд и ищите _GDF_XML, У стареньких игр таких как Medal Of Honour Alied Assault инфа лежит в файле C:\Windows\system32\GameUXLegacyGDFs.dll и ConfigInstallType нада ставить 3, А для очень старых например Resident Evil 1, инфы нету нигде в таком случае нада использовать прогу GDF Maker которая создает файлы с инфой... И которую я до сих пор не нашол :bad:

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


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

Библиотека называется GameuxInstallHelper.dll. Она входит в пакет DirectX SDK, скачать можно тут http://forums.winamp.com/attachment.php?postid=2057654 . Чтобы её использовать в любом установщике нужно неплохо знать языки программирования. А именно уметь вызывать функции из этой библиотеки. На сайте Microsoft есть примеры использования этой библиотеки в InstallShield и в MSI Package http://msdn2.microsoft.com/en-us/library/bb206359.aspx . На сайте Winampa (на форуме) есть примеры для NSIS. Я пользуюсь Inno Setup, и вот для него то нигде нет ни одной статейки, как вызывать из этой библиотеки функции. Вот пример который я сделал для того же Bioshock`а в Inno:

[Tasks]

Name: WGE; Description: Создать ярлык в папке «Игры» (только Windows® Vista®); GroupDescription: {cm:AdditionalIcons}; Flags: unchecked

[icons]

Name: {reg:HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Local AppData|{userappdata}}\Microsoft\Windows\GameExplorer\{{10BAC0BE-3FB5-4B87-844E-561EDE59B95B}\PlayTasks\0\Play; Filename: {app}\Builds\Release\ Bioshock.exe; WorkingDir: {app}\Builds\Release; Tasks: WGE

Name: {reg:HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Local AppData|{userappdata}}\Microsoft\Windows\GameExplorer\{{10BAC0BE-3FB5-4B87-844E-561EDE59B95B}\PlayTasks\1\Play - DirectX9; Filename: {app}\Builds\Release\ Bioshock.exe; WorkingDir: {app}\Builds\Release; Parameters: -dx9; Tasks: WGE

[Registry]

Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{10BAC0BE-3FB5-4B87-844E-561EDE59B95B}; ValueType: string; ValueName: ConfigInstallType; ValueData: 2; Flags: uninsdeletekey

Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{10BAC0BE-3FB5-4B87-844E-561EDE59B95B}; ValueType: string; ValueName: ConfigApplicationPath; ValueData: {app}\Builds\Release; Flags: uninsdeletekey

Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{10BAC0BE-3FB5-4B87-844E-561EDE59B95B}; ValueType: string; ValueName: ConfigGDFBinaryPath; ValueData: {app}\Builds\Release\ Bioshock.exe; Flags: uninsdeletekey

Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{10BAC0BE-3FB5-4B87-844E-561EDE59B95B}; ValueType: string; ValueName: ApplicationId; ValueData: {{9BC6CDD8-07EA-404D-A381-99B4E400AFA5}; Flags: uninsdeletekey

Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{10BAC0BE-3FB5-4B87-844E-561EDE59B95B}; ValueType: string; ValueName: Title; ValueData: BioShock; Flags: uninsdeletekey

Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{10BAC0BE-3FB5-4B87-844E-561EDE59B95B}; ValueType: dword; ValueName: IsSigned; ValueData: $00000001; Flags: uninsdeletekey

Несколько замечаний: В пункте 2 циферки означают язык (лучше брать из 1033 – английский, или 1049 – русский; хотя разницы в GameDefinition gameID нет никакой)

В пункте 3 не нужно писать в S-1-5-21-3292720868-1703521539-3581440055-1000! Это уникальный ключ для каждой системы, поэтому лучше использовать просто \Microsoft\Windows\CurrentVersion\GameUX\Games\{10BAC0BE-3FB5-4B87-844E-561EDE59B95B}

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


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

Кароч вот файлик с GDF он от гарри поттера, легко редактируется, вписываем в него свою гаму ставим картинку и тд затем вписываем файлик в параметр ConfigGDFBinaryPath.

ЗЫ Unc1e за*бешся на каждую гаму такой инсталл ваять

http://msdn2.microsoft.com/en-us/library/bb173445.aspx инфа тут про редактирование

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


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

Unc1e

вызов функций и процедур в инно не сложное мероприятие. В секции

 объявляем

Функция

function <имя функции>(<параметры>):<тип возвращаемого значения>;

external '<имя функции>@GameuxInstallHelper.dll stdcall';

Процедура

function <имя процедуры>(<параметры>);

external '<имя процедуры>@GameuxInstallHelper.dll stdcall';

Что делать дальше - разберешься, пробуй.

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

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


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

FreoN, это я как раз знаю, а вот что дальше писать - без понятия. Если разбираешься - может попробуешь для какой-нить игры написать скриптик? Буду безгранично благодарен! Вот начало (собственно только вызов функций)


function AddToGameExplorerW(): ;

external 'AddToGameExplorerW@files:GameuxInstallHelper.dll stdcall';

function RemoveFromGameExplorer():

external 'RemoveFromGameExplorer@files:GameuxInstallHelper.dll stdcall';

function RetrieveGUIDForApplicationW(): ;

external 'RetrieveGUIDForApplicationW@files:GameuxInstallHelper.dll stdcall';

function GenerateGUID(): ;

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

function CreateTaskW(): ;

external 'CreateTaskW@files:GameuxInstallHelper.dll stdcall';

function RemoveTasks(): ;

external 'RemoveTasks@files:GameuxInstallHelper.dll stdcall';

function SetupRichSavedGamesW(): ;

external 'SetupRichSavedGamesW@files:GameuxInstallHelper.dll stdcall';

function RemoveRichSavedGamesW(): ;

external 'RemoveRichSavedGamesW@files:GameuxInstallHelper.dll stdcall';

Примеры для InstallShield см. ссылки выше. Можно по анологии сделать. Я в этом полный ноль!

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

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


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

Посмотрю сегодня-завтра... А ты не пират случаем?=))) зачем тебе инсталлы игр переделывать?=)))

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


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

FreoN

Устный пред за оверквотинг.

А ты, вероятно, ТОЛЬКО лицензию юзаешь?

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


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

Устный пред за оверквотинг.

А ты, вероятно, ТОЛЬКО лицензию юзаешь?

Сори.

Раз уж ты спросил, нет конечно. Я честно говоря перепаковкой игр тоже занимаюсь, думал один такой, вот и спросил.

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


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

 

FreoN, Я - не пират. Поверь мне, таких любителей перепаковать игры огромное количество. Я как и все покупаю пираЦкую версию игры, если надо качаю no cd, с ZoG`а или таверны качаю русификатор. Теперь этот комплект нужно поместить в красивую обертку. Для этого в инстал добавляю фон, слайд-шоу, сплэш-заставку, фоновую музыку и т.д. и т.п. Получается хорошая версия игры, которую не грех и на болванку записать, и на полку, в архивчик. Пираты потом это продают и получают деньги, я же все делаю ИСКЛЮЧИТЕЛЬНО для себя!

 

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


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


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

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

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

  • Изменения статусов

    • axe66  »  SerGEAnt

      здравствуйте. можете добавить на сайт раздел для игры She’s Leaving и русификатор к нему? и как и куда вам скинуть фото и сам русификатор?
      [h2] Версия: 1.0.1 (от 22.05.2026)
      Совместимость: для сборки 20909321 [/h2]
       Информация:
      Машинный перевод моделью gemma2:9b-instruct с несколькими этапами автоматической перепроверки (модель "самопроверялась") и финальными ручными правками.
      Это не финальная версия — по мере нахождения ошибок перевода будут выходить обновления.
      Известные нюансы:
      * Возможны неточности и ошибки в переводе.
      * Некоторые элементы интерфейса остались без перевода.
       Установка:
      1. Запустить Russifier.exe
      2. Нажать "Выбрать папку"
      3. Выбрать папку с игрой и нажать ОК
      4. Нажать "Установить"
      5. Дождаться завершения установки и закрыть программу.
      После установки запустите игру и наслаждайтесь!
      Если заметили ошибки или некорректные формулировки — оставляйте комментарии, будем исправлять!
       
      Автор: Serjik Sokolov История изменений:   Версия 1.0.1 от 22.05.2026 - Установщик теперь автоматически определяет корневую папку игры, даже если случайно выбрана вложенная папка.   Версия 1.0.0 от 03.12.2025 - Релиз
      · 1 ответ
    • Perfect End Strange  »  SerGEAnt

      Привет, озвучку для Silent Hill 4: The Room выпустил энтузиаст под ником Perfect End Strange, а вы написали совсем другую студию, пожалуйста, исправьте эту оплошность
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

      я его уже открыл в свободный доступ, чтобы не потерялось среди новинок
      · 0 ответов
    • NekoNya  »  Onzi

      https://www.dropbox.com/scl/fi/4xncxr2tqy77vz4644q08/text_RU_FINAL.json?rlkey=xckxss3jkql4gjmc1ah6qjb5e&st=k5ql651f&dl=0 
       
      Вот, то что вышло. Извинюсь, что зря говорил, что помогу (
      · 2 ответа
    • serfly  »  SerGEAnt

      Доброго времени! Недавно столкнулся с проблемой автоперевода XUnity AutoTranslator BeplnEx iL2cc. Пару последних лет часто пользовался, теперь консольные команды виснут на стадии загрузки библиотек, хотя они есть там изначально. На GitHub есть подобные вопросы, но ни одного рабочего ответа я не нашел. А Вы что можете посоветовать?
      · 0 ответов
  • Лучшие авторы


×