Форум: "Система";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Вниз

Избранное в Windows 


Schummi   (2001-09-15 07:45) [0]

Здравствуйте мастера! Ответьте пожалуйста на такой вопрос - Как узнать, где у юзера на компе заинсталина Винда и её язык(русская или английская), а точнее как узнать, где находится папка "Избранное"? Заранее благодарен!



Ajax   (2001-09-15 22:30) [1]

Все системные папки.

procedure TForm1.FormCreate(Sender: TObject);
var
reg : TRegistry;
ts : TStrings;
i : integer;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.LazyWrite := false;
reg.OpenKey("Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders",false);
ts := TStringList.Create;
reg.GetValueNames(ts);
for i := 0 to ts.Count -1 do begin
Memo1.Lines.Add(ts.Strings[i] +" = " +reg.ReadString(ts.Strings[i]));
end;
ts.Free;
reg.CloseKey;
reg.free;
end;



Schummi   (2001-09-16 07:22) [2]

Спасибо, Ajax!



Борисов Александр   (2001-09-17 01:32) [3]

В книжке"Delphi 3.0 Для всех" (Федоров А.Г., изд."КомпьютерПресс", 1998г.), в разделе "Как сделать инсталятор" я нашел следующий код:
var
SPath : Array[0..MAX_Path-1] of Char;
Path : String;
..............
begin
//Подготовительная работа: находим каталог, в котором расположена
//Windows, и формируем маршрут к каталогу WINDOWS/DESKTOP, где
//храняться ярлыки, отображаемые в рабочей области

GetWindowsDirectory(sPath, MAX_PATH);
Path := StrPas(sPath);
Path := Path + "\DESKTOP\";
.............

Вот такой код.



Schummi   (2001-09-22 07:42) [4]

Спасибо и тебе, Борисов Александр!



[N\A]   (2001-09-22 14:50) [5]

и еще кое что по теме...только с использованием api...
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;

function ReadRegStr(RootKey:HKey; SubKey, Value:String):String;
var
C: Array [0..254] of Char;
T,S: DWORD;
K: HKEY;
begin
Result := "";
T:=REG_SZ;
S:=SizeOf(c);
if RegOpenKeyEx(RootKey,PChar(SubKey),0,KEY_READ,K)=ERROR_SUCCESS then
if RegQueryValueEx(K, PChar(Value),nil,@T,@C,@S)=ERROR_SUCCESS then
Result := C;
RegCloseKey(K);
end;

function GetShellFolderPath(const Name:String):String;
var
S:string;
begin
S:=ReadRegStr(HKEY_CURRENT_USER,"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders",Name);
Result:=s+"\";
end;

Desktop - Рабочий стол
Favorites - избранное

if GetShellFolderPath("Favorites")<>"\" then
s:= GetShellFolderPath("Favorites");




Форум: "Система";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.025 c
3-21903           Victor Tsay           2001-11-29 10:02  2002.01.08  
Репликация


1-22195           LNix                  2001-12-15 20:00  2002.01.08  
string


1-22254           alina                 2001-12-17 13:32  2002.01.08  
Архивация данных


1-22079           kserg@ukr.net         2001-12-19 13:11  2002.01.08  
Как корректно связать кнопку с ToolBara c пунктом меню в MainMenu?


1-22173           Petyun                2001-12-20 19:33  2002.01.08  
Установка компонент