Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: CL | DM;

Вниз

Поиск временного каталога.   Найти похожие ветки 

 
Grant   (2005-12-20 13:59) [0]

Всем привет. Мне необходимо получить строку с временным каталогом Windows. Есть функция - GetTempPath, которая собственно его и возвращает. Но есто одно неудобство. Она возвращает путь к примеру - С:\DOCUME~1\LOCAL~1\Temp.
Этот путь я вывожу например с помощью ShowMessage.
И некоторым пользователям непонятно что такое DOCUME~1. Подскажите есть ли возможность получать полный путь к каталогу. Спасибо.


 
kami ©   (2005-12-20 14:08) [1]

Использовать SHGetSpecialFolderLocation=>SHGetPathFromIDList


 
kami ©   (2005-12-20 14:19) [2]

Упс... прошу прощения, нет такого CSIDL для получения temp папки.


 
Rouse_ ©   (2005-12-20 14:20) [3]

type
 function GetLongPathNameA(lpszShortPath, lpszLongPath: PChar;
   cchBuffer: DWORD): DWORD; stdcall external kernel32;

...

procedure TForm1.Button2Click(Sender: TObject);
var
 ShortPath, LongPath: array[0..MAX_PATH - 1] of Char;
begin
 if GetTempPath(MAX_PATH, @ShortPath[0]) > 0 then
   if GetLongPathNameA(ShortPath, @LongPath[0], MAX_PATH) > 0 then
     ShowMessage(String(LongPath));
end;


 
Grant   (2005-12-20 15:25) [4]

Ну и где мне взять GetLongPathNameA? Что-то не могу её я найти.


 
Rouse_ ©   (2005-12-20 15:37) [5]

Я же тебе показал как его обьявить...
type
function GetLongPathNameA(lpszShortPath, lpszLongPath: PChar;
  cchBuffer: DWORD): DWORD; stdcall external kernel32;


 
Grant   (2005-12-20 15:47) [6]

Спасибо большое. Я просто протупил. Забыл как дергаются функции из dll.:) Всё работает. Ещё раз спасибо.


 
umbra ©   (2005-12-20 18:33) [7]

в модуле SysUtils есть функция GetEnvironmentVariable(Name: string): string;


 
begin...end ©   (2005-12-20 18:37) [8]

> umbra ©   (20.12.05 18:33) [7]

Она тоже возвращает короткий путь.



Страницы: 1 вся ветка

Текущий архив: 2006.03.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
2-1140382067
Golikov
2006-02-19 23:47
2006.03.12
Edit и Combobox как срвеить ????????


1-1139215284
Int_64
2006-02-06 11:41
2006.03.12
Как запустить приложение в виде дочернего окна в MDI-приложении?


15-1139936989
PARUS
2006-02-14 20:09
2006.03.12
Загрузка...


1-1139373604
Disciple2005
2006-02-08 07:40
2006.03.12
Delphi & Word


3-1137321654
Корешь
2006-01-15 13:40
2006.03.12
Как узнать, что набор данных в DataSet был изменен