Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#4

Re: [nonVCL] SHGetSpecialFolderLocation selbst importieren

  Alt 5. Mär 2007, 14:19
Zitat von Florian Bernd:
ich möchte in einem nonVCL Programm SHGetSpecialFolderLocation verwenden. Binde ich die Unit ShlObj ein, nimmt die Dateigröße meiner EXE allerdings um ca 60kb zu.


Kann ich mir nicht vorstellen, das TestProgramm hier
Delphi-Quellcode:
program FooOrSo;

uses
  Windows, Messages, ShlObj;

function GetShellFolder(hWnd: HWND; CSIDL: integer): String;
var
  pidl : PItemIdList;
  FolderPath : string;
  SystemFolder : Integer;
begin
  Result := '';
  SystemFolder := CSIDL;
  if SUCCEEDED(SHGetSpecialFolderLocation(hWnd, SystemFolder, pidl)) then
  begin
    SetLength(FolderPath, max_path);
    if SHGetPathFromIDList(pidl, PChar(FolderPath)) then
    Result := FolderPath;
  end;
end;

BEGIN
  AllocConsole;

  Writeln( GetShellFolder(0, CSIDL_DESKTOP) );
  readln;

  FreeConsole;
END.
braucht gerade mal 20 kb.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat