
23.11.2008, 15:35
|
|
Участник форума
Регистрация: 06.06.2008
Сообщений: 171
С нами:
9436571
Репутация:
110
|
|
процедура поиска папок квипов(если несколько установлено)
Код:
procedure regGetValuesHKCU(where:string; StringList:TStrings);
var
Key: HKEY;
Len, LenTemp, Count, I: DWORD;
S: PChar;
begin
StringList.clear;
GetMem(S, 255);
if RegCreateKey(HKEY_CURRENT_USER, PChar(where), Key) = 0 then
begin
RegQueryInfoKey(Key, nil, nil, nil, nil, nil, nil, @Count, @Len, nil, nil, nil);
for I := 0 to Count - 1 do
begin
LenTemp := Len +1;
RegEnumValue(Key, I, S, LenTemp, nil, nil, nil, nil);
StringList.Add(S);
FillChar(S^, 255, 0);
end;
RegCloseKey(key);
end;
FreeMem(S);
end;
procedure GetQIPPaths(StringList:TStringList);
var
i:integer;
begin
regGetValuesHKCU('Software\Microsoft\Windows\ShellNoRoam\MUICache',StringList);
for i:=StringList.Count-1 downto 0 do
if pos('\qip.exe',StringList.Strings[i])=0 then
StringList.Delete(i);
for i:=0 to StringList.Count-1 do
StringList.Strings[i]:=ExtractFilePath(StringList.Strings[i]);
end;
писал когда-то для себя, успешно использовал в своей проге
(необходимо, чтоб был подключен classes)
|
|
|