Текущий архив: 2006.10.08;
Скачать: CL | DM;
ВнизКак узнать путь к shell application? Найти похожие ветки
← →
Чапаев © (2006-09-17 08:50) [0]Смотрю в реестре ветку HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\Shell -- там только explorer.exe. А вот как бы узнать и полный путь?
← →
Ketmar © (2006-09-17 08:59) [1]так же, как его узнаёт winlogon, полагаю. лезть сейчас в его исходники лениво, так что предоположу, что обычный поиск по PATH. кто первый -- тот и папа.
← →
Чапаев © (2006-09-17 09:04) [2]Так... Вот, помнится, в Паскале была функция, которая по заданному имени файла выводила полный путь к файлу с учётом этого самого PATh"a. Нет ли такой же в Делфи? Я понимаю, что пишется за две минуты. Но... Воскресенье, утро...
← →
vidiv © (2006-09-17 09:25) [3]
> Чапаев © (17.09.06 09:04) [2]
спорим за 2 минуты не напишешь? (чтоб работала правильно)
← →
Чапаев © (2006-09-17 09:29) [4]> (чтоб работала правильно)
Ну это вы, барин, придираетесь... :-(
← →
vidiv © (2006-09-17 10:09) [5]
function FullPath(var FileName:string):boolean;
var i:integer;
path, mpath:string;
begin
path := "";
i := Windows.GetEnvironmentVariable("PATH", nil, 0);
if i > 0 then
begin
SetLength(path, i - 1);
Windows.GetEnvironmentVariable("PATH", PChar(path), i);
end;
Result := false;
repeat
i := pos(";", path);
if (i>1) then begin
mpath := copy(path, 1, i - 1);
if not (mpath[length(mpath)] in ["\", "/"]) then
mpath := mpath + "\";
if FileExists(mpath + FileName) then begin
FileName := mpath + FileName;
result := true;
exit;
end;
delete(path, 1, i);
end else
if length(path)>0 then begin
if not (path[length(path)] in ["\", "/"]) then
path := path + "\";
if FileExists(path + FileName) then begin
FileName := path + FileName;
end;
exit;
end;
until false;
end;
← →
begin...end © (2006-09-17 10:27) [6]> Чапаев © (17.09.06 09:04) [2]
SearchPath ?
← →
Ketmar © (2006-09-17 10:27) [7]SearchPath().
← →
Чапаев © (2006-09-17 10:43) [8]Спасибочки, SearchPath() -- самое оно.
Страницы: 1 вся ветка
Текущий архив: 2006.10.08;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.057 c