Jak odczytać listę ostatnio używanych plików? Jak wykryć uruchomienie innego programu i pobrać jego ścieżkę lub/i uchwyt?
Gdzies w programach jest bodaj program Adama ktory wypisuje sciezki do roznych katalogo systemowych, w tym tez do Recent czyli ostatnio uzywanych progsow. Jest tez drugi program jak juz mozcno chcesz (kiedys widzialem) co wypisze pliki z dane w/w katalogu.
Trzeba tylko poszukac....
Wiem jak pobrać ścieżkę do katalgu, jednak chodzi mi o bezpośrednie pobranie nazw ostatnio używanych plików, które znajdują się w Menu Start>Dokumenty, sądzę że istnieje taka funkcja ShlOBJ mianowicie np. SHaddToRecentDocs, ale nie wiem w jaki sposób ją wykorzystać.
function PobierzSciezke(parametr : integer):string;
var
bufor : PChar;
dir : PItemIDList;
handle:THandle;
begin
GetMem(bufor,MAX_PATH);
SHGetSpecialFolderLocation(Handle,parametr,dir);
SHGetPathFromIDList(dir,bufor);
PobierzSciezke:=bufor;
FreeMem(bufor);
end;
function trescKAT(kat:string):TStringList;
var sr: TSearchRec;
found:integer;
begin
Result := TStringList.Create;
try
Found := FindFirst(kat+'\*.*', faAnyFile, SR);
while ( Found = 0 ) do
begin
if (SR.Name <> '.') and (SR.Name <> '..') then
Result.Add(SR.Name);
Found := FindNext(SR);
end;
finally
FindClose(SR);
end;
end;
//jakos tak, nie sprawdzalem
trescKat(PobierzSciezke(CSIDL_RECENT)).Text )
Jest do tego gotowy komponent JVCL: TJvMRUManager, który wszystko robi automatycznie.
Jest do tego gotowy komponent JVCL: TJvMRUManager, który wszystko robi automatycznie.
Komponenty, komponenty...
thenkles świetnie to skomentował:
http://4programmers.net/Forum/viewpost.html?id=105598