Game explorer

0

Chciałbym dodać aplikacje do Windows Game explorer, ale monituje mi o błędzie, który nie wiem jak usunąć.
Kod znalazłem na jakimś rosyjskim forum. Nie wiem dlaczego u nich to działa a u mnie nie. Czy coś jest nie tak z tym kodem?

[code]
const
  CLSID_GameExplorer = '{9a5ea990-3034-4d6f-9128-01f3c61022bc}';
  GIS_CURRENT_USER = 2;
  GIS_ALL_USERS = 3;

type
  IGameExplorer = interface(IUnknown)        //Błąd Identifier expected
    '{E7B2FB72-D728-49B3-A5F2-18EBF5F1349E}'
    function AddGame(sGDFBinaryPath: String; sInstallDirectory: String; installScope: Word; var pguidInstanceID: TGUID): HResult;
    function RemoveGame(instanceID: TGUID): HResult;
    function UpdateGame(instanceID: TGUID): HResult;
    function VerifyAccess(sGDFBinaryPath: String; var pHasAccess: Boolean): HResult;
  end;

procedure GERegister;
var
  myGEX:   IGameExplorer;
  myGUID:  TGUID;
  o:       IUnknown;
  bAccess: Boolean;
  sGUID:   String;
begin
  o := CreateComObject(StringToGuid(CLSID_GameExplorer));
  myGEX := IGameExplorer(o);
  OleCheck(myGEX.VerifyAccess(ExpandConstant('{app}\mygame.exe'), bAccess));
  if bAccess then
  begin
    myGUID := StringToGuid('{00000000-0000-0000-0000-000000000000}'); 
    OleCheck(myGEX.AddGame(ExpandConstant('{app}\mygame.exe'), ExpandConstant('{app}'), GIS_ALL_USERS, myGUID));
    //write guid to registry
    sGUID := Format('{%.8x-%.4x-%.4x-%.2x%.2x-%.2x%.2x%.2x%.2x%.2x%.2x}', [myGUID.D1, myGUID.D2, myGUID.D3, myGUID.D4[0], myGUID.D4[1], myGUID.D4[2], myGUID.D4[3], myGUID.D4[4], myGUID.D4[5], myGUID.D4[6], myGUID.D4[7]]);
    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\My Publisher\My Game',
    'ge_guid', sGUID);
  end;
end;

procedure GEUnRegister;
var
  myGEX:   IGameExplorer;
  o:       IUnknown;
  sGUID:   String;
begin
  o := CreateComObject(StringToGuid(CLSID_GameExplorer));
  myGEX := IGameExplorer(o);
  sGUID := '';
  if RegKeyExists(HKEY_CURRENT_USER, 'Software\My Publisher\My Game') then
  begin
    RegQueryStringValue(HKEY_CURRENT_USER, 'Software\My Publisher\My Game',
      'ge_guid', sGUID);
    if sGUID <> '' then
    begin
      OleCheck(myGEX.RemoveGame(StringToGuid(sGUID))); 
    end;
  end;
end;
0

Nie próbowałem tego kompilować ale piwerwszy błąd jaki widzę to chyba powinno być:

  IGameExplorer = interface(IUnknown) 
    ['{E7B2FB72-D728-49B3-A5F2-18EBF5F1349E}']

1 użytkowników online, w tym zalogowanych: 0, gości: 1