Советы по Delphi

       

Пример процедуры достаточно часто не


function FindWindowsDir : string;
var
pWindowsDir : array [0..255] of Char;
sWindowsDir : string;
begin
// GetWindowsDirectory(LPTSTR,UINT);
// LPTSTR lpBuffer, // адрес буфера для директории Windows
// UINT uSize // размер буфера директории
GetWindowsDirectory (pWindowsDir, 255);sWindowsDir := StrPas (pWindowsDir);Result := sWindowsDir ;end;
Дополнение

Пришло письмо от читателя:

Пример процедуры достаточно часто не срабатывает, ну а если относительно меня,- вообще не работает. Предлагаю использовать следующий код (естественно, чтение из реестра)



function GetWindowsFolder:string;
var
TR:TRegIniFile;HK: HKEY;begin
RegCreateKey(HKEY_LOCAL_MACHINE,'Software\Microsoft\Windows',HK);Reg:=TRegIniFile.Create('');Reg.RootKey:=HK;GetWinVersion:=Reg.ReadString('CurrentVersion','SystemRoot','');Reg.Free;end;
Прислал Igor Popov.
E-mail to: .

Дополнение

Пришло письмо от читателя:

Я не знаю почему у некоторых не работает GetWindowsDir, ведь это задокументированная MSW -функция, которая есть и в Win95 и в 98. Может помогут эти небольщие ихменения?

function FindWindowsDir : string;
var
pWindowsDir : array [0..MAX_PATH] of Char;
sWindowsDir : string;
begin
// GetWindowsDirectory(LPTSTR,UINT);
// LPTSTR lpBuffer, // адрес буфера для директории Windows
// UINT uSize // размер буфера директории
GetWindowsDirectory (@pWindowsDir, MAX_PATH);
sWindowsDir := StrPas (pWindowsDir);
Result := sWindowsDir ;
end;
Этот код работает на ВСЕХ машинах, на которых была запущенна моя прога.

[000222]


Содержание раздела