Форум: "Система";
Поиск по всему сайту: 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.023 c
6-22304           sedoy                 2001-10-11 14:09  2002.01.08  
клиент-сервер в Интернет через прокси


14-22330          Алексей Т.            2001-11-02 13:25  2002.01.08  
HELP MY!!!


3-21997           J                     2001-12-05 11:46  2002.01.08  
Как создать пользователя с правами как у SYSDBA


1-22095           ev                    2001-12-18 20:22  2002.01.08  
форма волны и спектр


7-22453           Juri                  2001-09-21 18:26  2002.01.08  
RS485