uses shlobj;
procedure TForm1.Button1Click(Sender: TObject);
var
pidl: PItemIDList;
DeskTopPath: array[0..MAX_PATH] of char;
begin
SHGetSpecialFolderLocation(Handle, CSIDL_DESKTOPDIRECTORY, pidl);
SHGetPathFromIDList(pidl, DeskTopPath);
OpenDialog1.InitialDir := DeskTopPath;
OpenDialog1.Execute
end;