Форум: "WinAPI";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
ВнизПоиск временного каталога. Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.014 c