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.