Yo tambien hice algunas pruebas:
Código Delphi
[-]
uses ShellApi;
procedure TForm1.Button1Click(Sender: TObject);
const
Nombre = 'Temporal';
var
Buffer: array[0..MAX_PATH] of Char;
TempPath: string;
begin
FillChar(Buffer,Sizeof(Buffer),0);
if GetTempPath(Sizeof(Buffer) - 1, @Buffer) > 0 then
begin
TempPath:= string(PChar(@Buffer));
if Copy(TempPath, Length(TempPath), 1) <> '\' then
TempPath:= TempPath + '\';
TempPath:= TempPath + Nombre;
if not DirectoryExists(TempPath) then
CreateDirectory(PChar(TempPath), nil);
ShellExecute(Handle, nil, 'Subst', PChar('z: ' + TempPath), nil, SW_HIDE);
end;
end;