Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.08;
Скачать: CL | DM;

Вниз

Избранное в 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");



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

Текущий архив: 2002.01.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
3-21981
Termik
2001-12-06 08:22
2002.01.08
Про ключевые поля и IDENTITY


1-22222
Eugene Zelikovsky
2001-12-14 13:58
2002.01.08
CallBack


6-22276
Lamok
2001-10-05 23:13
2002.01.08
Отправка данных в интернет


1-22000
Striker
2001-12-13 07:59
2002.01.08
Перенос данных в ячейку листа Excel


6-22313
SB
2001-10-01 15:05
2002.01.08
Помогите сетевому недоучке! Пожайлуста