下列方法仅提供 Windows 平台使用,所以需要使用编译开关,代码如下:
uses
{$IFDEF MSWINDOWS}
Winapi.Windows,
Winapi.SHFolder,
{$ENDIF} {$IFDEF MSWINDOWS}
const CSIDL_DESKTOP = $; // <desktop>
function GetDesktopPath: string;
var
LStr: array[ .. MAX_PATH] of Char;
begin
SetLastError(ERROR_SUCCESS); if SHGetFolderPath(, CSIDL_DESKTOP, , , @LStr) = S_OK then
Result := LStr;
end;
{$ENDIF}