Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0600: IE-History löschen

 von 

Beschreibung 

Der Internet Explorer protokolliert alle besuchten Seiten im "Verlauf". Wie sich dieser mit VB leeren lässt, erfahren Sie hier.

Hinweis: Wenn der Internetexplorer zu dieser Zeit geöffnet ist, wird die Rubrik "Heute" nicht gelöscht!

Schwierigkeitsgrad:

Schwierigkeitsgrad 1

Verwendete API-Aufrufe:

CLSIDFromString, CoCreateInstance, DispCallFunc

Download:

Download des Beispielprojektes [2,46 KB]

'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Projekt1.vbp -------------
'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Schaltfläche "Command1"


' How to    delete IE's UrlHistory
'
' uses:     kernel32, ole32, oleaut32, shdocvw
'
' infos:
'  http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/urlhist/urlhist.asp
'

Option Explicit
 ' clsid: (shlguid.h)  => SHDOCVW.DLL
Private Const clsid_CUrlHistory = "{3C374A40-BAE4-11CF-BF7D-00AA006946EE}"

' clsid: (urlhist.h)  => IUrlHistoryStg2
Private Const clsid_IUrlHistoryStg2 = "{AFA0DC11-C313-11D0-831A-00C04FD5AE38}"

' vtbl:  (urlhist.h)  => IUnknown-Release()
Private Const IUrlHistoryStg2_Release As Long = 8&

' vtbl:  (urlhist.h)  => HRESULT=ClearHistory()
Private Const IUrlHistoryStg2_ClearHistory As Long = 36&

' const: (WTYPES.h)   => ClassContext
Private Const CLSCTX_INPROC_SERVER As Long = 1&

' const: (WINERROR.h)
Private Const S_OK As Long = 0&

' const: (OAIDL.h)    => CallConvention
Private Const CC_STDCALL As Long = 4&

Private Declare Function CLSIDFromString Lib "ole32" ( _
    ByVal lpszProgID As Long, ByVal pCLSID As Long) As Long
    
Private Declare Function CoCreateInstance Lib "ole32" ( _
    ByVal rclsid As String, ByVal pUnkOuter As Long, _
    ByVal dwClsContext As Long, ByVal riid As String, _
    ByRef ppv As Long) As Long
    
Private Declare Sub DispCallFunc Lib "oleaut32" ( _
    ByVal ppv As Long, ByVal oVft As Long, _
    ByVal cc As Long, ByVal rtTYP As VbVarType, _
    ByVal paCNT As Long, ByRef paTypes As Long, _
    ByRef paValues As Long, ByRef fuReturn As Variant)


' hstDelete     Delete IE URL-history
'
' CALL:         hstDelete()
'
' IN:           ---
'
' OUT:          log     success
'
Public Function hstDelete() As Boolean
    Dim oid As String     ' object-id
    Dim iid As String     ' interface-id
    Dim ipt As Long       ' interface-ptr
    Dim ret As Variant

    oid = cnvCLSID(clsid_CUrlHistory)
    iid = cnvCLSID(clsid_IUrlHistoryStg2)
    
    If CoCreateInstance(oid, 0&, CLSCTX_INPROC_SERVER, iid, _
        ipt) = S_OK Then
        
        DispCallFunc ipt, IUrlHistoryStg2_ClearHistory, _
            CC_STDCALL, vbLong, 0, 0&, 0&, ret
            
        DispCallFunc ipt, IUrlHistoryStg2_Release, _
            CC_STDCALL, vbLong, 0, 0&, 0&, ret
            
        hstDelete = True
    End If
End Function


' cnvCLSID      Converts clsid-string to binary string (unicode)
'
' CALL:         cnvCLSID(clsid)
'
' IN:           chr:clsid   i.e. {3C374A40-BAE4-11CF-BF7D-00AA006946EE}
'
' OUT:          chr         16-byte converted string
'
Private Function cnvCLSID(clsid As String) As String
    Dim B1(15) As Byte
    
    CLSIDFromString StrPtr(clsid), VarPtr(B1(0))
    cnvCLSID = StrConv(B1, vbUnicode)
End Function

Private Sub Command1_Click()
    hstDelete
End Sub
'---------- Ende Formular "Form1" alias Form1.frm  ----------
'-------------- Ende Projektdatei Projekt1.vbp --------------

Tipp-Kompatibilität:

Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?

Ja, funktioniert!

Nein, funktioniert nicht bei mir!

VB-Version:

Windows-Version:

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.

Archivierte Nutzerkommentare 

Klicken Sie diesen Text an, wenn Sie die 1 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.

Kommentar von bkuon am 02.02.2004 um 19:59

Wie kann ich "History" im t-online-browser löschen ?
Betriebssystem xp