Klasse!
Nur eine Kleinigkeit , Result sollte initialisiert werden.......
Bitteschön:
Delphi-Quellcode:
interface
uses
System.IOUtils;
type
TPathHelper =
record helper
for TPath
private
public
function GetDesktopFolder:
string;
function GetStartMenuFolder:
string;
end;
implementation
uses
Winapi.SHFolder,
Winapi.ShlObj;
function TPathHelper.GetDesktopFolder:
string;
var
LStr:
array[0 .. MAX_PATH]
of Char;
begin
SetLastError(ERROR_SUCCESS);
Result := '
';
// Wenn schon denn Schon
if SHGetFolderPath(0, CSIDL_DESKTOPDIRECTORY, 0, 0, @LStr) = S_OK
then
Result := LStr;
end;
function TPathHelper.GetStartMenuFolder:
string;
var
LStr:
array[0 .. MAX_PATH]
of Char;
begin
SetLastError(ERROR_SUCCESS);
Result := '
';
// Wenn schon denn Schon
if SHGetFolderPath(0, CSIDL_STARTMENU, 0, 0, @LStr) = S_OK
then
Result := LStr;
end;
Ok jetzt weiß ich warum die Dinger verpöhnt sind - zumindest ich weiß nicht einmal wie man das benutzt.
Den Helper in eine
Unit, diese einbinden wo die Funktionen daraus gebraucht werden und fertig.