Prog.Hu

Előzmények törlése delphi-vel
10

2013-09-09T00:24+02:00
mobil ház
mobil házProg.Hu
regisztrált tag
Hogyan tudom azt megcsinálni hogy az internetes előzményeket kitörlöm? Azt amit az internet beállításoknál lehet csak ezt program ba akarom bele rakni. Hogyan tudom ezt megcsinálni?
Mutasd a teljes hozzászólást!
Előzmények törlése delphi-vel
2013-09-09T00:24+02:00
mobil ház
mobil házProg.Hu
regisztrált tag
Nem tudom már, hogy mit akarsz törölni.

De talán ez kell neked.
Mutasd a teljes hozzászólást!
Oszd meg másokkal is!

xp alatt:
c:\\\\DokumentsAndSettings\\\\"felhjasználóneved"\\\\LocalSettings\\\\History\\\\ itt vannak tárolva az előzményeid, erre kell írni egy progit, hogy itt törölgessen...
Mutasd a teljes hozzászólást!
Az Internet Explorer a Registry-ben tárolja az előzményeket a következő helyen.
HKEY_CURRENT_USER\\\\Software\\\\Microsoft\\\\Internet Explorer\\\\TypedURLs

Na ebből a kulcsból kell eltávolítani a nem kivánt URL-eket.
Ha az összeset akarod akkor nemes egyszerűséggel távolítsd el a kulcsot, mondjuk így.

Uses Registry;

Function ElozmenyekTorlese: Boolean;
Var Reg: TRegistry;
Begin
  Result:= True;

  Reg:= TRegistry.Create;
  with Reg do
    begin
      RootKey:= HKEY_CURRENT_USER;
      OpenKey('\\\\Software\\\\Microsoft\\\\Internet Explorer');

      If KeyExists('TypedURLs') Then Result:= DeleteKey('TypedURLs');
      Free;
   end;
end;
A függvény igaz értéket ad vissza ha sikerült az eltávolítás.

Amúgy ez csak internet Explorer-nél müködik más böngésző gondolom máshová teszi az előzményeket.
Mutasd a teljes hozzászólást!
Nem akar müködni túl kevés az elérési út. Útána néztem a registryben és nem találtam olyan kulcsot amire hivatkozik.
Mutasd a teljes hozzászólást!
Hmmm.

Hát nem tudom, nálam ott van.

Most is nézem a RegEdit-et és hát ott van.
HKEY_CURRENT_USER
Azon belül
Software
Azon belül
Microsoft
Azon belül
Internet Explorer
És azon belül
TypedURLs

Nálad melyiktől nincs meg?

De tudod mit?
Keres rá.
RegEdit.exe
Edit/Find
TypedURLs
Mutasd a teljes hozzászólást!

  OpenKey('\\\\Software\\\\Microsoft\\\\Internet Explorer');
Ennél a résznél hivatkozik arra hogy 'Nincs elég paraméter'.
Mutasd a teljes hozzászólást!
Meg van a gond a végére egy true kellet tenni. El indítottam törölte amit kell de nem érte el a kivánt hatást. Fenoftaleinnek igaza volt a history mappában lévő cuccost kell törölni(ami benne van nem pedig az egész mappát). Tudtok segíteni?
Mutasd a teljes hozzászólást!
Másik gond:
Delphiben nem lehet törölni a history tartalmát. Végre hajtja de nem történik semmi és nem üzen hibát.
Mutasd a teljes hozzászólást!
Nem tudom már, hogy mit akarsz törölni.

De talán ez kell neked.
Mutasd a teljes hozzászólást!
Hello!

Engedélyezted az Explorernek, hogy jegyezze meg az oldalak címeit? Mert tudomásom szerint a TypedUrls-ben ezt tárolja és nem az előzményeket!

Robertoq
Mutasd a teljes hozzászólást!
Szóval ha törlöm a typedurls-t akkor nem történik semmi de ha a history tartalmát törlöm akkor eltünek a beírt oldalak csak hogy a delphi a 'Localsettings\\\\History\\\\Ma' mappát nem találja (fileexist) és nem is lehet törölni.
Mutasd a teljes hozzászólást!
Nem tudom, mert nem próbáltam, de gondolom akkor kell a TypedURLs-t törölni amikor nem megy a böngésző.
Különben a böngészőből való kilépésnél vissza írja őket, gondolom.
Mutasd a teljes hozzászólást!
Próbáld meg ezt:

uses
   WinInet;
procedure DeleteIECache;
var
   lpEntryInfo: PInternetCacheEntryInfo;
   hCacheDir: LongWord;
   dwEntrySize: LongWord;
begin
   dwEntrySize := 0;
   FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize) ;
   GetMem(lpEntryInfo, dwEntrySize) ;
   if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
   hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize) ;
   if hCacheDir <> 0 then
   begin
     repeat
       DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName) ;
       FreeMem(lpEntryInfo, dwEntrySize) ;
       dwEntrySize := 0;
       FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize) ;
       GetMem(lpEntryInfo, dwEntrySize) ;
       if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
     until not FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize) ;
   end;
   FreeMem(lpEntryInfo, dwEntrySize) ;
   FindCloseUrlCache(hCacheDir) ;
end;

procedure TForm1.Button1Click(Sender: TObject) ;
begin
   DeleteIECache;
end;

Az egyéb Internetfájl elérésekről lásd:
wininet.pas

Üdv
TommySoft

Mutasd a teljes hozzászólást!
Négy hozzászólással előtted már ajánlottam ezt.

Link formájában.
Mutasd a teljes hozzászólást!
1000 bocsánat!
Átsiklottam felette...

Üdv
TommySoft
Mutasd a teljes hozzászólást!
Oszd meg másokkal is!