WildGoblin
Ru-Board Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Скрипт для добавления ярлыков в Game Explorer (работает только в Windows 7) Всё необходимое для работы скрипта Инструкция по применению: 1. Создаёте необходимые файлы - файл с иконками (какие нужны форматы - см. документацию к DirectX SDK). 2. С помощью программы GDFMaker.exe (которая находится в папке GDFMaker) проводите необходимые манипуляции (как с ней работать - см. документацию к DirectX SDK). 3. Файлы (.ico, .xml) получившиеся после отработки программы GDFMaker.exe помещаем в GDF.dll которая находится в папке include (сделать это можно любым редактором ресурсов - хотя бы и ResHacker). 4. Интегрируем представленный скрипт в ваш. 5. Всё! Код: #define GDFBinary "{app}\GDF.dll" [Tasks] Name: Gameux; Description: "Добавить ссылки в Game Explorer"; GroupDescription: "Game Explorer:"; MinVersion: ,6.0.6000; [Files] Source: include\GDF.dll; DestDir: {app}; Source: include\GameuxInstallHelper.dll; DestDir: {app}; Flags: overwritereadonly [Code] type TGUID = record D1: Cardinal; D2: Word; D3: Word; D4: Array [0..8] of Byte; end; function AddToGameExplorer(BinaryPatch: String; Path: String; InstallType: Integer; var GUID: TGUID): Cardinal; external 'AddToGameExplorerA@files:GameuxInstallHelper.dll stdcall setuponly'; function RetrieveGUIDForApplication(BinaryPatch: 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'; var GUID: TGUID; procedure CurStepChanged(CurStep: TSetupStep); var GDFBinary: String; begin if (CurStep = ssPostInstall) and IsTaskSelected('Gameux') then begin GDFBinary:=ExpandConstant('{#GDFBinary}'); AddToGameExplorer(GDFBinary, ExpandConstant('{app}'), 3, GUID); end; end; procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); var GDFBinary: String; GUID: TGUID; begin if (CurUninstallStep=usUninstall) then begin GDFBinary:=ExpandConstant('{#GDFBinary}'); RetrieveGUIDForApplication(GDFBinary, GUID); RemoveFromGameExplorer(GUID); UnloadDll(ExpandConstant('{app}\GameuxInstallHelper.dll')); end; end; |
|