Problem z funkcja GetClassFile

0

Witam.
Potrzebuję określić typ pliku - więc znalazłem sobie w SDK funkcję GetClassFile - niestety nie wiem czemu ale otrzymany CLSID zawsze wygląda w ten sposób

'{00000000-0000-0000-0000-000000000000}'

. Pytanie tylko czemu ?

Oto kod jakim się posługuję:

uses ActiveX;

var
  wc: array[0..256] of WideChar;
  A: TGuid;
begin
  StringToWideChar('C:\test.tpl', wc, SizeOf(wc) div 2); // plik test.tpl istnieje na pewno
  GetClassFile(wc, A);
  ShowMessage(GUIDToString(A)); // <-- tutaj się wyświetla zawsze '{00000000-0000-0000-0000-000000000000}'
end;

Proszę o pomoc

0

Prawdopdobnie nie ma tego roszerzenie zarejestrowanego w rejestrze, a na pewno nie pod kluczem HKEY_CLASSES_ROOT\FileType

Ta funkcjia zwraca CLSID pliku zapisanego w ww. kluczu, ale nie tylko. Cały proces gdzie szuka tejże informacji masz w pomocy SDK.

Jeżeli nie ma zapisu dotyczącego tego rozszerzenie w rejestrze to powinna zwrócić MK_E_INVALIDEXTENSION, sprawdź.

0

Sprawdziłem - zwraca MK_E_INVALIDEXTENSION, ale także dla innych plików np. txt. Przecież to nie możliwe aby nie było CLSID dla txt, czy np. mp3 :/

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