Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
 |
[Delphi5] Как определить windir из делфи? 09.12.01 01:53 Число просмотров: 1290
Автор: Killer{R} Статус: Незарегистрированный пользователь
|
> subj Есть такая переменная окружения - windir и еше есть функция такая винапишная: getenvvar(вот тока параметров не помню - потрудись в сдк глянуть)
|
|
<programming>
|
[Delphi5] Как определить windir из делфи? 23.09.01 21:24
Автор: crk Статус: Незарегистрированный пользователь
|
|
subj
|
 |
[Delphi5] Как определить windir из делфи? 09.12.01 01:53
Автор: Killer{R} Статус: Незарегистрированный пользователь
|
> subj Есть такая переменная окружения - windir и еше есть функция такая винапишная: getenvvar(вот тока параметров не помню - потрудись в сдк глянуть)
|
 |
[Delphi5] Как определить windir из делфи? 24.09.01 00:06
Автор: Myppp Статус: Незарегистрированный пользователь
|
Window API функция
GetWindowDirectory
UINT GetWindowDirectory(LPTSTR lpszWinPath,UINT uWinPathCount)
|
 |  |
[Delphi5] Как определить windir из делфи? 24.09.01 00:30
Автор: crk Статус: Незарегистрированный пользователь
|
> Window API функция > GetWindowDirectory > UINT GetWindowDirectory(LPTSTR lpszWinPath,UINT > uWinPathCount) >
что-то не распознаёт такую ф-цию
|
 |  |  |
[Delphi5] Как определить windir из делфи? 24.09.01 18:38
Автор: Cyril <sc> Статус: Member
|
> > Window API функция > > GetWindowDirectory > > UINT GetWindowDirectory(LPTSTR lpszWinPath,UINT > > uWinPathCount) > > > > что-то не распознаёт такую ф-цию
Читай из реестра ключ
HKEY_LOCAL_MACHINE
\Software\Microsoft\Windows\CurrentVersion\SystemRoot
это и есть пусть к директории в которой установлены винды
|
 |  |  |  |
[Delphi5] Как определить windir из делфи? 24.09.01 23:03
Автор: [N\A] Статус: Незарегистрированный пользователь
|
function GetWinDir: string;
var
Buf: array[0..MAX_PATH] of Char;
begin
GetWindowsDirectory(@Buf[0], MAX_PATH+1);
Result := PChar(@Buf[0]);
if Result <> '' then
if Result[Length(Result)] <> '\' then
Result := Result + '\';
end;
function GetSysDir: string;
var
Buf: array[0..MAX_PATH] of Char;
begin
GetSystemDirectory(@Buf[0], MAX_PATH+1);
Result := PChar(@Buf[0]);
if Result <> '' then
if Result[Length(Result)] <> '\' then
Result := Result + '\';
end;
function GetTempDir : string;
var
Buf: array[0..MAX_PATH] of Char;
begin
Windows.GetTempPath(MAX_PATH+1,@Buf[0]);
Result := PChar(@Buf[0]);
if Result <> '' then
if Result[Length(Result)] <> '\' then
Result := Result + '\';
end;
|
 |  |  |  |  |
[Delphi5] Как определить windir из делфи? 25.09.01 16:27
Автор: Grag Статус: Незарегистрированный пользователь
|
В паблише пишешь эти переменные
public
{ Public declarations }
Windir : String;
WindirP : PChar;
Res : Cardinal;
А дальше я сделал на примере кнопки и метки где буем выводить путь
procedure TForm1.Button1Click(Sender: TObject);
begin
WinDirP := StrAlloc(MAX_PATH);
Res := GetWindowsDirectory(WinDirP, MAX_PATH);
if Res > 0 then WinDir := StrPas(WinDirP);
Label1.Caption:=WinDir;
end;
Пояснение:
Сначала выделяем как можно больше памяти под переменную WinDirP типа PChar, дабы потом, используя функцию GetWindowsDirectory() поместить в неё путь к каталогу Windows. В переменную Res будет помещён результат выполнения функции GetWindowsDirectory(), далее если каталог найден (если Res>0), мы переводим путь к каталогу из типа PChar в тип String с помощью функции StrPas() и помещаем получившуюся строку в переменную WinDir.
|
 |  |  |  |  |  |
[Delphi5] Как определить windir из делфи? 25.09.01 18:47
Автор: crk Статус: Незарегистрированный пользователь
|
> В паблише пишешь эти переменные > public > { Public declarations } > Windir : String; > WindirP : PChar; > Res : Cardinal; > А дальше я сделал на примере кнопки и метки где буем > выводить путь > > procedure TForm1.Button1Click(Sender: TObject); > begin > WinDirP := StrAlloc(MAX_PATH); > Res := GetWindowsDirectory(WinDirP, MAX_PATH); > if Res > 0 then WinDir := StrPas(WinDirP); > Label1.Caption:=WinDir; > end; > > Пояснение: > Сначала выделяем как можно больше памяти под переменную > WinDirP типа PChar, дабы потом, используя функцию > GetWindowsDirectory() поместить в неё путь к каталогу > Windows. В переменную Res будет помещён результат > выполнения функции GetWindowsDirectory(), далее если > каталог найден (если Res>0), мы переводим путь к > каталогу из типа PChar в тип String с помощью функции > StrPas() и помещаем получившуюся строку в переменную > WinDir.
Спасибо! А как сделать, чтобы в WriteString('Root','xxx') вместо xxx, прописался адрес из WinDir?
|
 |  |  |  |  |  |  |
[Delphi5] Как определить windir из делфи? 03.12.01 23:53
Автор: JusT_A_UseR Статус: Незарегистрированный пользователь
|
|
Если сходишь на http://www.gnomehome.demon.nl/uddf/, то там в разделе "UDDF - Windows" найдешь еще и хвункции доступа к "Virtual folders".
|
|
|