Jak pobrać katalog tymczasowy oraz katalog na już pobrane pliki? Katalogi dotyczą oczywiście Emule i mogą one być zmieniane przez urzytkownika - mnie chodzi o aktualne katalogi jakie są ustawione w programie [!!!] Może jakiś kodzik źródłowy by ktoś zapodał :?:
Z góry wielkie dzięki
0
0
Ustawienia programu są zawarte w pliku "preferences.ini" w "<katalog programu="programu">\config". W sekcji [eMule] folder tymczasowy możemy znaleźć "IncomingDir=<jakiś katalog>" i "TempDir=<jakiś katalog>".
Jeśli chodzi o Delphi to dane te możemy uzyskać wpisująć najpierw w sekcji
uses IniFiles.
var
katalogIncomming : String;
katalogTemp : String;
plik : TINIFiles;
begin
try
plik := TINIFile.Create('C:\Program files\eMule\config\preferences.ini');
katalogIncomming := plik.ReadString('eMule', 'IncomingDir', '');
katalogTemp := plik.ReadString('eMule', 'TempDir','');
finally
plik.Free;
end;
end;
0
Aby w pełni zautomatyzować sobie działanie możemy wydobyć z rejestru ścieżkę do programu.
Czyli pełny kod wyglądałby tak:
uses IniFiles, Registry;
var
katalogIncomming : string;
katalogTemp : string;
plik : TINIFiles;
reg : TRegistry;
begin
reg := TRegistry.Create;
try
reg.OpenKey('Software\eMule', false);
plik := TINIFile.Create(reg.ReadString('Install Path', '')+'\config\preferences.ini');
try
katalogIncomming := plik.ReadString('eMule', 'IncomingDir', '');
katalogTemp := plik.ReadString('eMule', 'TempDir','');
finally
plik.Free;
end;
finally
reg.Free;
end;
end;
Oczywiście możesz tu dodać coś,żeby sprawdzało, czy ten klucz w rejestrze istnieje.
Nie sprawdzałem ale powinno działać. :)
0
Dzięki. Kod jest OK.