SHGetKnownFolderPath undeclared identifier

0

Witam,

Podczas wywołania funkcji SHGetKnownFolderPath kompilator (Delphi XE) wyświetla komunikat "undeclared identifier" przy "FOLDERID_DEKSTOP". Dodam, że w sekcji uses mam dopisane ShlObj oraz ShellAPI

SHGetKnownFolderPath(FOLDERID_DEKSTOP, KF_FLAG_CREATE, TOKEN_WRITE, Path);

Czy należy jeszcze coś dopisać do sekcji uses?

Jeśli wpisać FOLDERTYPEID to jest wykrywane.

według MSDN jest coś takiego jak FOLDERID_DESKTOP http://msdn.microsoft.com/en-us/library/windows/desktop/dd378457(v=vs.85).aspx

Pozdrawiam

0

masz literówkę FOLDERID_DEKSTOP -> FOLDERID_DESKTOP

0
mychal napisał(a):

masz literówkę FOLDERID_DEKSTOP -> FOLDERID_DESKTOP

Bez tej literówki też nie idzie ;D Nie podpowiada w ogóle w menu kontekstowym podczas pisania nic co by się zaczynało "FOLDERID...", jedynie FOLDERTYPEID

EDIT: Przeszukałem już google, MSDN, różne przykłady użycia i nie wiem dlaczego to się nie daje skompilować ;D chciałbym po prostu w miarę prosty sposób uzyskać dostęp do pulpitu lub innego folderu użytkownika Vista+. Z CSIDL to działa, ale z tego co czytałem w dokumentacji nie jest zalecany dla nowszych Windowsów.

0

to wklej po prostu GUID albo stwórz własną stałą z GUID B4BFCC3A-DB2C-424C-B029-7FE99A87C641

0

Nie ma to sobie zdefiniuj np. jakoś tak:

var
  Form1: TForm1;

const
  FOLDERID_DESKTOP: TGUID = '{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}';
  KF_FLAG_CREATE = $00008000;

  function SHGetKnownFolderPath(const rfid: TGUID; dwFlags: DWord;
    hToken: THandle; var ppszPath: LPWSTR): HResult; stdcall; external 'Shell32.dll';



implementation
0
kAzek napisał(a):

Nie ma to sobie zdefiniuj np. jakoś tak:

var
  Form1: TForm1;

const
  FOLDERID_DESKTOP: TGUID = '{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}';
  KF_FLAG_CREATE = $00008000;

  function SHGetKnownFolderPath(const rfid: TGUID; dwFlags: DWord;
    hToken: THandle; var ppszPath: LPWSTR): HResult; stdcall; external 'Shell32.dll';



implementation

Po takim zdefiniowaniu działa jak trzeba, dzięki ;D

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