Вниз
Скачать: CL | DM;

Получение каталога Windows в NT   Найти похожие ветки 

← →
Registr   (2004-08-30 05:59) [0]

Как можно проще получить рабочий каталог Windows в Win NT, функция GetWindowsDerectory даёт полную фигню, записанную в реестре: типа Document and Setting\Administrator\Windows.
%SystemRoot% во многих случаях не катит. Что делать, как быть?


← →
YuRock ©   (2004-08-30 08:12) [1]

GetWindowsDerectory отлично работает под 95/98/NT/2k/XP/03

Я проверял везде.

Другое дело - что ты понимаешь под каталогом Windows...
Из хелпа: "The Windows directory is the directory where an application should store initialization and help files. If the user is running a shared version of Windows, the Windows directory is guaranteed to be private for each user."

Так что GetWindowsDerectory возвращает тебе все правильно.
Если же тебе эта папка нужна для других целей - ищи ее соответствующими способами.

См. GetSystemDirectory; SHGetSpecialFolderLocation; FindFirstFile/FindNextFile...


← →
Дмитрий Ботвин   (2004-08-30 14:33) [2]

А что, разве функция GetWindowsDirectory не пашет? Вот сам
попробуй....

function GetWinDir(): string;
 var WindirP: PChar;
     Res: Cardinal;
 begin
   Result:="Unknown";
   WinDirP := StrAlloc(MAX_PATH);
   Res := GetWindowsDirectory(WinDirP, MAX_PATH);
   if Res > 0 then Result:= StrPas(WinDirP);
 end;


← →
Дмитрий Ботвин   (2004-08-30 14:35) [3]

Или же как и написал YuRock используй фуекции GetSystemDirectory; SHGetSpecialFolderLocation


← →
VMcL ©   (2004-08-30 15:18) [4]

>>Дмитрий Ботвин  (30.08.04 14:33) [2]

Освобождение памяти возложим на А. С. Пушкина?


← →
Дмитрий Ботвин   (2004-08-30 16:09) [5]

Согласен FreeMem надо бы добавить....


← →
Registr   (2004-08-31 01:39) [6]

Мне нужна папка, куда реально установлена Windows. Универсальную я пока не нашёл, для Win9x действует GetWindowsDirectory(s, SizeOf(s));, а для WinNT
FillChar(PathArray,SizeOf(PathArray), #0);
ExpandEnvironmentStrings("%SystemRoot%",PathArray, 256);
Result := Format("%s",[PathArray]);, то что здесь предлагалось, я попробую, спасибо.


← →
VMcL ©   (2004-08-31 10:16) [7]

>>Registr  (31.08.04 01:39) [6]

>Мне нужна папка, куда реально установлена Windows. Универсальную я пока не нашёл

Ссылку на выпрямитель дать?



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.056 c
4-1094652268
Ivanov_F.
2004-09-08 18:04
2004.10.10
Как узнать сколько занимает в памяти какой-то процесс?


6-1090316461
highlander
2004-07-20 13:41
2004.10.10
Отправка СМС-сообщений, используя HTTP


3-1095044872
tERRORist
2004-09-13 07:07
2004.10.10
Как остановить выполнение запроса в ADO


1-1095560171
Matveyev
2004-09-19 06:16
2004.10.10
Создание файлов ресурсов


14-1095859186
kaZaNoVa
2004-09-22 17:19
2004.10.10
Скорость доступа к диску, или как ускорить HARD




   Наверх