Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Speicherpfad von Cookies etc. herausfinden und festlegen (https://www.delphipraxis.net/95260-speicherpfad-von-cookies-etc-herausfinden-und-festlegen.html)

dtrace 4. Jul 2007 01:09


Speicherpfad von Cookies etc. herausfinden und festlegen
 
Hallo alle zusammen,
ich habe einen Browser mit der TMozilla Activex Komponente nachgebaut.
Weiß jemand den Speicherort, wo die Komponente die Cookies, Bilder etc. auslagert? Wie kann man diese Speicherort manuell festlegen?

gruss dTrace

hathor 4. Jul 2007 06:50

Re: Speicherpfad von Cookies etc. herausfinden und festlegen
 
Specialfolder bekommt man mit folgendem Code:

Delphi-Quellcode:
 
uses
  { ... },
  ActiveX, // IMalloc
  ShellAPI, // SHGetSpecialFolderLocation() und SHGetPathFromIDList()
  ShlObj;  // CSIDL_-Konstanten

//fehlende CSIDL_-Konstanten kann man nach folgendem Muster definieren:

const CSIDL_COMMON_APPDATA = $0023;
      CSIDL_MYMUSIC = $0013;
      CSIDL_MYPICTURES = $0014; //FONTS
      CSIDL_LOCAL = $0022;
      CSIDL_SYSTEM = $0025;
      CSIDL_WINDOWS = $0024;
      CSIDL_PROGRAM_FILES = $0026;
      CSIDL_LOCAL_APPDATA = $001C;

function GetSpecialFolder(hWindow: HWND; Folder: Integer): String;
var
pMalloc: IMalloc;
pidl: PItemIDList;
Path: PChar;
begin
// get IMalloc interface pointer
if (SHGetMalloc(pMalloc) <> S_OK) then
begin
MessageBox(hWindow, 'Couldn''t get pointer to IMalloc interface.','SHGetMalloc(pMalloc)', 16);
Exit;
end;
// retrieve path
SHGetSpecialFolderLocation(hWindow, Folder, pidl);
GetMem(Path, MAX_PATH);
SHGetPathFromIDList(pidl, Path);
Result := Path;
FreeMem(Path);
 
// free memory allocated by SHGetSpecialFolderLocation
pMalloc.Free(pidl);
end;

function GetSpecialFolder2(FolderID : longint) : string;
var
 Path : pchar;
 idList : PItemIDList;
begin
 GetMem(Path, MAX_PATH);
 SHGetSpecialFolderLocation(0, FolderID, idList);
 SHGetPathFromIDList(idList, Path);
 Result := string(Path);
 FreeMem(Path);
end;

function GetDrives: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_Drives));
end;

function GetMyMusic: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(13));
end;

function GetTmpInternetDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_INTERNET_CACHE));
end;

function GetCookiesDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_COOKIES));
end;

function GetHistoryDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_HISTORY));
end;

function GetDesktop: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_DESKTOP));
end;

function GetDesktopDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_DESKTOPDIRECTORY));
end;

function GetProgDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_PROGRAMS));
end;

function GetMyDocDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_PERSONAL));
end;

function GetFavDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_FAVORITES));
end;

function GetStartUpDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_STARTUP));
end;

function GetRecentDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_RECENT));
end;

function GetSendToDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_SENDTO));
end;

function GetStartMenuDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_STARTMENU));
end;

function GetNetHoodDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_NETHOOD));
end;

function GetFontsDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_FONTS));
end;

function GetTemplateDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_TEMPLATES));
end;

function GetAppDataDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_APPDATA));
end;

function GetPrintHoodDir: string;
begin
 Result := IncludeTrailingBackslash(GetSpecialFolder2(CSIDL_PRINTHOOD));
end;

//damit kriegt man angezeigt, was auf dem eigenen PC möglich ist
//for i := 0 to 64 do Memo1.Lines.add(IntToStr(i)+' : '+ GetSpecialFolder(Form1.Handle,i));
Entschuldigt bitte den "Chaos"-Code - war zum Experimentieren...

mkinzler 4. Jul 2007 06:52

Re: Speicherpfad von Cookies etc. herausfinden und festlegen
 
Das aktive Profil kannst du aus der profiles.ini unter lw:\Dokumente und Einstellungen\Anwendungsdaten\Mozilla\Firefox auslesen.

hathor 4. Jul 2007 07:33

Re: Speicherpfad von Cookies etc. herausfinden und festlegen
 
Zitat:

Zitat von mkinzler
Das aktive Profil kannst du aus der profiles.ini unter lw:\Dokumente und Einstellungen\Anwendungsdaten\Mozilla\Firefox auslesen.

1. profiles.ini ist hidden
2. etwas Brauchbares steht nicht drin
3. LW:\...Local Settings\Application Data\Mozilla\Firefox\Profiles\q68r9gkb.default\Cac he enthält nur binäre/verschlüsselte Daten.

mkinzler 4. Jul 2007 07:42

Re: Speicherpfad von Cookies etc. herausfinden und festlegen
 
Schau mal unter lw:\Dokumente und Einstellungen\Anwendungsdaten\Mozilla\Firefox\Prof iles\q68r9gkb.default

SirThornberry 4. Jul 2007 08:08

Re: Speicherpfad von Cookies etc. herausfinden und festlegen
 
Zitat:

Zitat von hathor
3. LW:\...Local Settings\Application Data\Mozilla\Firefox\Profiles\q68r9gkb.default\Cac he enthält nur binäre/verschlüsselte Daten.

Und deswegen meinst du das es der falsche Ort ist? Mozilla ist eben kein ie. Vielleicht speichert Mozilla alles binär um schneller darauf zugreifen zu können.
Die einfachste Variante den Cache zu finden ist eine eindeutige Webseite aufzurufen und dann die Dateien der Festplatte nach diesem Inhalt zu durchsuchen.

hathor 4. Jul 2007 08:36

Re: Speicherpfad von Cookies etc. herausfinden und festlegen
 
Zitat:

Zitat von SirThornberry
Die einfachste Variante den Cache zu finden ist eine eindeutige Webseite aufzurufen und dann die Dateien der Festplatte nach diesem Inhalt zu durchsuchen.

Wozu? Ich weiss doch, wo die Daten sind!


dtrace muss wissen, ob er damit was anfangen kann...

dtrace 4. Jul 2007 14:44

Re: Speicherpfad von Cookies etc. herausfinden und festlegen
 
Vielen Dank für die zahlreichen Antworten,
allerdings finde ich immernoch nicht den Speicherort der TMozilla Komponente.
Wie ich die ganzen Verzeichnisse auslesen, dass hat mit sehr weitergeholfen...aber ich glaube dass das TMozilla-Control einen anderen Pfad als Firefox benutzt.

hmmm... hat jemand von euch die TMozilla-Komponente installiert?

dtrace 4. Jul 2007 14:53

Re: Speicherpfad von Cookies etc. herausfinden und festlegen
 
Die Ressourcen etc. werden ins Verzeichnis C:\Programme\Mozilla ActiveX Control v1.7.12 kopiert...ich habe da auch schon geschaut ob da vielleicht ein Unterordner erstellt wird, kann aber nix brauchbares finden....


hmmm :roll:

hathor 4. Jul 2007 18:16

Re: Speicherpfad von Cookies etc. herausfinden und festlegen
 
Mein FIREFOX nutzt alle Pfade, die über SHGetSpecialFolderLocation (siehe oben) gemeldet werden, das Plugin wird genauso funktionieren, denn es ist ja nur eine Schnittstelle.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:37 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz