How To Delete Files From Temp\Temporary Internet Files\Recent\History Folders ?
Thank

Code: Select all
;This code was originally written by Dev Ashish.
;It is not to be altered or distributed,
;except as part of an application.
;You are free to use it in any application,
;provided the copyright notice is left unchanged.
;
;Code Courtesy of
;Dev Ashish
;
; The following table outlines the different DLL versions,
; and how they were distributed.
;
; Version DLL Distribution Platform
; 4.00 All Microsoft® Windows® 95/Windows NT® 4.0.
; 4.70 All Microsoft® Internet Explorer 3.x.
; 4.71 All Microsoft® Internet Explorer 4.0
; 4.72 All Microsoft® Internet Explorer 4.01 and Windows® 98
; 5.00 Shlwapi.dll Microsoft® Internet Explorer 5
; 5.00 Shell32.dll Microsoft® Windows® 2000.
; 5.80 Comctl32.dll Microsoft® Internet Explorer 5
; 5.81 Comctl32.dll Microsoft® Windows 2000
;
;
; © Microsoft. Information copied from Microsoft;s
; Platform SDK Documentation in MSDN
; (http://msdn.microsoft.com)
;
; If a special folder does not exist, you can force it to be
; created by using the following special CSIDL:
; (Version 5.0)
#CSIDL_FLAG_CREATE = $8000
; Combine this CSIDL with any of the CSIDLs listed below
; to force the creation of the associated folder.
; The remaining CSIDLs correspond to either file system or virtual folders.
; Where the CSIDL identifies a file system folder, a commonly used path
; is given as an example. Other paths may be used. Some CSIDLs can be
; mapped to an equivalent %VariableName% environment variable.
; CSIDLs are much more reliable, however, and should be used if at all possible.
; File system directory that is used to store administrative tools for an individual user.
; The Microsoft Management Console will save customized consoles to
; this directory and it will roam with the user.
; (Version 5.0)
#CSIDL_ADMINTOOLS = $30
; File system directory that corresponds to the user;s
; nonlocalized Startup program group.
#CSIDL_ALTSTARTUP = $1D
; File system directory that serves as a common repository for application-specific
; data. A typical path is C:\Documents and Settings\username\Application Data.
; This CSIDL is supported by the redistributable ShFolder.dll for systems that do
; not have the Internet Explorer 4.0 integrated shell installed.
; (Version 4.71)
#CSIDL_APPDATA = $1A
; Virtual folder containing the objects in the user;s Recycle Bin.
#CSIDL_BITBUCKET = $A
; File system directory containing containing administrative tools
; for all users of the computer.
; Version 5
#CSIDL_COMMON_ADMINTOOLS = $2F
; File system directory that corresponds to the nonlocalized Startup program
; group for all users. Valid only for Windows NT® systems.
#CSIDL_COMMON_ALTSTARTUP = $1E
; Application data for all users. A typical path is
; C:\Documents and Settings\All Users\Application Data.
; Version 5
#CSIDL_COMMON_APPDATA = $23
; File system directory that contains files and folders that appear on the
; desktop for all users. A typical path is C:\Documents and Settings\All Users\Desktop.
; Valid only for Windows NT® systems.
#CSIDL_COMMON_DESKTOPDIRECTORY = $19
; File system directory that contains documents that are common to all users.
; A typical path is C:\Documents and Settings\All Users\Documents.
; Valid for Windows NT® systems and Windows 95 and Windows 98
; systems with Shfolder.dll installed.
#CSIDL_COMMON_DOCUMENTS = $2E
; File system directory that serves as a common repository for all users; favorite items.
; Valid only for Windows NT® systems.
#CSIDL_COMMON_FAVORITES = $1F
; File system directory that contains the directories for the common program
; groups that appear on the Start menu for all users. A typical path is
; C:\Documents and Settings\All Users\Start Menu\Programs.
; Valid only for Windows NT® systems.
#CSIDL_COMMON_PROGRAMS = $17
; File system directory that contains the programs and folders that appear on
; the Start menu for all users. A typical path is
; C:\Documents and Settings\All Users\Start Menu.
; Valid only for Windows NT® systems.
#CSIDL_COMMON_STARTMENU = $16
; File system directory that contains the programs that appear in the
; Startup folder for all users. A typical path is
; C:\Documents and Settings\All Users\Start Menu\Programs\Startup.
; Valid only for Windows NT® systems.
#CSIDL_COMMON_STARTUP = $18
; File system directory that contains the templates that are available to all users.
; A typical path is C:\Documents and Settings\All Users\Templates.
; Valid only for Windows NT® systems.
#CSIDL_COMMON_TEMPLATES = $2D
; Virtual folder containing icons for the Control Panel applications.
#CSIDL_CONTROLS = $3
; File system directory that serves as a common repository for Internet cookies.
; A typical path is C:\Documents and Settings\username\Cookies.
#CSIDL_COOKIES = $21
; Windows Desktop—virtual folder that is the root of the namespace..
#CSIDL_DESKTOP = $0
; File system directory used to physically store file objects on the desktop
; (not to be confused with the desktop folder itself).
; A typical path is C:\Documents and Settings\username\Desktop
#CSIDL_DESKTOPDIRECTORY = $10
; My Computer—virtual folder containing everything on the local computer:
; storage devices, printers, and Control Panel. The folder may
; also contain mapped network drives.
#CSIDL_DRIVES = $11
; File system directory that serves as a common repository for the user;s
; favorite items. A typical path is C:\Documents and Settings\username\Favorites.
#CSIDL_FAVORITES = $6
; Virtual folder containing fonts. A typical path is C:\WINNT\Fonts.
#CSIDL_FONTS = $14
; File system directory that serves as a common repository for
; Internet history items.
#CSIDL_HISTORY = $22
; Virtual folder representing the Internet.
#CSIDL_INTERNET = $1
; File system directory that serves as a common repository for
; temporary Internet files. A typical path is
; C:\Documents and Settings\username\Temporary Internet Files.
#CSIDL_INTERNET_CACHE = $20
; File system directory that serves as a data repository for local
; (non-roaming) applications. A typical path is
; C:\Documents and Settings\username\Local Settings\Application Data.
; Version 5
#CSIDL_LOCAL_APPDATA = $1C
; My Pictures folder. A typical path is
; C:\Documents and Settings\username\My Documents\My Pictures.
; Version 5
#CSIDL_MYPICTURES = $27
; A file system folder containing the link objects that may exist in the
; My Network Places virtual folder. It is not the same as CSIDL_NETWORK,
; which represents the network namespace root. A typical path is
; C:\Documents and Settings\username\NetHood.
#CSIDL_NETHOOD = $13
; Network Neighborhood—virtual folder representing the
; root of the network namespace hierarchy.
#CSIDL_NETWORK = $12
; File system directory that serves as a common repository for documents.
; A typical path is C:\Documents and Settings\username\My Documents.
#CSIDL_PERSONAL = $5
; Virtual folder containing installed printers.
#CSIDL_PRINTERS = $4
; File system directory that contains the link objects that may exist in the
; Printers virtual folder. A typical path is
; C:\Documents and Settings\username\PrintHood.
#CSIDL_PRINTHOOD = $1B
; User;s profile folder.
; Version 5
#CSIDL_PROFILE = $28
; Program Files folder. A typical path is C:\Program Files.
; Version 5
#CSIDL_PROGRAM_FILES = $2A
; A folder for components that are shared across applications. A typical path
; is C:\Program Files\Common.
; Valid only for Windows NT® and Windows® 2000 systems.
; Version 5
#CSIDL_PROGRAM_FILES_COMMON = $2B
; Program Files folder that is common to all users for x86 applications
; on RISC systems. A typical path is C:\Program Files (x86)\Common.
; Version 5
#CSIDL_PROGRAM_FILES_COMMONX86 = $2C
; Program Files folder for x86 applications on RISC systems. Corresponds
; to the %PROGRAMFILES(X86)% environment variable.
; A typical path is C:\Program Files (x86).
; Version 5
#CSIDL_PROGRAM_FILESX86 = $2A
; File system directory that contains the user;s program groups (which are
; also file system directories). A typical path is
; C:\Documents and Settings\username\Start Menu\Programs.
#CSIDL_PROGRAMS = $2
; File system directory that contains the user;s most recently used documents.
; A typical path is C:\Documents and Settings\username\Recent.
; To create a shortcut in this folder, use SHAddToRecentDocs. In addition to
; creating the shortcut, this function updates the shell;s list of recent documents
; and adds the shortcut to the Documents submenu of the Start menu.
#CSIDL_RECENT = $8
; File system directory that contains Send To menu items. A typical path is
; C:\Documents and Settings\username\SendTo.
#CSIDL_SENDTO = $9
; File system directory containing Start menu items.
; A typical path is C:\Documents and Settings\username\Start Menu.
#CSIDL_STARTMENU = $B
; File system directory that corresponds to the user;s Startup program group.
; The system starts these programs whenever any user logs onto Windows NT® or
; starts Windows® 95. A typical path is
; C:\Documents and Settings\username\Start Menu\Programs\Startup.
#CSIDL_STARTUP = $7
; System folder. A typical path is C:\WINNT\SYSTEM32.
; Version 5
#CSIDL_SYSTEM = $25
; System folder for x86 applications on RISC systems.
; A typical path is C:\WINNT\SYS32X86.
; Version 5
#CSIDL_SYSTEMX86 = $29
; File system directory that serves as a common repository
; for document templates.
#CSIDL_TEMPLATES = $15
; Version 5.0. Windows directory or SYSROOT. This corresponds to the %windir%
; or %SYSTEMROOT% environment variables. A typical path is C:\WINNT.
#CSIDL_WINDOWS = $24
#NOERROR = 0
#MAX_PATH = 260
Procedure.s GetSpecialFolderLocation(lngCSIDL.l)
; Returns path To a special folder on the machine
;
; Refer to the comments in declarations for OS and
; IE dependent CSIDL values.
Protected lngRet.l
Protected strLocation.s
Protected pidl.l
strLocation = Space(#MAX_PATH)
; retrieve a PIDL for the specified location
lngRet = SHGetSpecialFolderLocation_(0, lngCSIDL, @pidl)
If lngRet = #NOERROR
; convert the pidl to a physical path
SHGetPathFromIDList_(pidl, @strLocation)
If lngRet = #NOERROR
; If successful, Return the location
ProcedureReturn RTrim(strLocation)
EndIf
; calling application is responsible for freeing the allocated memory
; for pidl when calling SHGetSpecialFolderLocation. We have to
; call IMalloc::Release, but to get to IMalloc, a tlb is required.
;
; According to Kraig Brockschmidt in Inside OLE, CoTaskMemAlloc,
; CoTaskMemFree, and CoTaskMemRealloc take the same parameters
; as the interface functions and internally call CoGetMalloc, the
; appropriate IMalloc function, and then IMalloc::Release.
CoTaskMemFree_(pidl)
EndIf
EndProcedure
; TEST CALL
Debug GetSpecialFolderLocation(#CSIDL_HISTORY)
Code: Select all
DeleteFile(C:\Documents and Settings\username\Temporary Internet Files\xxx.html)
Code: Select all
DeleteFile("C:\windows\Temporary Internet Files\Content.ie5\0tinw163\bild11b[1].jpg")
DeleteFile("C:\windows\Recent\part240.zip.lnk")
Code: Select all
; Get system folder location...
#CSIDL_INTERNET = $1
#CSIDL_PROGRAMS = $2
#CSIDL_CONTROLS = $3
#CSIDL_PRINTERS = $4
#CSIDL_PERSONAL = $5 ; Use this instead of CSIDL_MYDOCUMENTS. I don't know why! Ask Microsoft...
#CSIDL_FAVORITES = $6
#CSIDL_STARTUP = $7
#CSIDL_RECENT = $8
#CSIDL_SENDTO = $9
#CSIDL_BITBUCKET = $A
#CSIDL_STARTMENU = $B
#CSIDL_MYDOCUMENTS = $C
#CSIDL_MYMUSIC = $D
#CSIDL_MYVIDEO = $E
#CSIDL_DESKTOPDIRECTORY = $10
#CSIDL_DRIVES = $11
#CSIDL_NETWORK = $12
#CSIDL_NETHOOD = $13
#CSIDL_FONTS = $14
#CSIDL_TEMPLATES = $15
#CSIDL_COMMON_STARTMENU = $16
#CSIDL_COMMON_PROGRAMS = $17
#CSIDL_COMMON_STARTUP = $18
#CSIDL_COMMON_DESKTOPDIRECTORY = $19
#CSIDL_APPDATA = $1A
#CSIDL_PRINTHOOD = $1B
#CSIDL_LOCAL_APPDATA = $1C
#CSIDL_ALTSTARTUP = $1D
#CSIDL_COMMON_ALTSTARTUP = $1E
#CSIDL_COMMON_FAVORITES = $1F
#CSIDL_INTERNET_CACHE = $20
#CSIDL_COOKIES = $21
#CSIDL_HISTORY = $22
#CSIDL_COMMON_APPDATA = $23
#CSIDL_WINDOWS = $24
#CSIDL_SYSTEM = $25
#CSIDL_PROGRAM_FILES = $26
#CSIDL_MYPICTURES = $27
#CSIDL_PROFILE = $28
#CSIDL_SYSTEMX86 = $29
#CSIDL_PROGRAM_FILESX86 = $2A
#CSIDL_PROGRAM_FILES_COMMON = $2B
#CSIDL_PROGRAM_FILES_COMMONX86 = $2C
#CSIDL_COMMON_TEMPLATES = $2D
#CSIDL_COMMON_DOCUMENTS = $2E
#CSIDL_COMMON_ADMINTOOLS = $2F
#CSIDL_ADMINTOOLS = $30
#CSIDL_CONNECTIONS = $31
#CSIDL_COMMON_MUSIC = $35
#CSIDL_COMMON_PICTURES = $36
#CSIDL_COMMON_VIDEO = $37
#CSIDL_RESOURCES = $38
#CSIDL_RESOURCES_LOCALIZED = $39
#CSIDL_COMMON_OEM_LINKS = $3A
#CSIDL_CDBURN_AREA = $3B
#CSIDL_COMPUTERSNEARME = $3D
#CSIDL_FLAG_PER_USER_INIT = $800
#CSIDL_FLAG_NO_ALIAS = $1000
#CSIDL_FLAG_DONT_VERIFY = $4000
#CSIDL_FLAG_CREATE = $8000
#CSIDL_FLAG_MASK = $FF00
Structure SHITEMID
cb.b
abID.b[1]
EndStructure
Structure ITEMIDLIST
mkid.SHITEMID
EndStructure
Procedure.s GetSystemFolder (folder)
*itemid.ITEMIDLIST = #NULL
If SHGetSpecialFolderLocation_ (0, folder, @*itemid) = #NOERROR
location$ = Space (#MAX_PATH)
If SHGetPathFromIDList_ (*itemid, @location$)
ProcedureReturn location$
EndIf
EndIf
EndProcedure
; D E M O . . .
folder$ = GetSystemFolder (#CSIDL_PERSONAL)
MessageRequester ("Result...", "The 'My Documents' folder is located in " + Chr (34) + folder$ + Chr (34), #MB_ICONINFORMATION)
End
Code: Select all
; Clear Internet Explorer Histroy
; Tested on Win XP SP1 IE6.0.2800....
Procedure ClearIEHistory()
#IUrlHistoryStg2_QueryInterface = 0
#IUrlHistoryStg2_AddRef = 4
#IUrlHistoryStg2_Release = 8
#IUrlHistoryStg2_ClearHistory = 36
procRet = 0
CoInitialize_(0)
If CoCreateInstance_(?CLSID_CUrlHistory, 0, 1, ?IID_IUrlHistoryStg2, @myObject) = 0
CallCOM(#IUrlHistoryStg2_ClearHistory, myObject)
CallCOM(#IUrlHistoryStg2_Release, myObject)
procRet= 1
EndIf
ProcedureReturn procRet
DataSection
CLSID_CUrlHistory:
; 3C374A40-BAE4-11CF-BF7D-00AA006946EE
Data.l $3C374A40
Data.w $BAE4,$11CF
Data.b $BF,$7D,$00,$AA,$00,$69,$46,$EE
IID_IUrlHistoryStg2:
; AFA0DC11-C313-11D0-831A-00C04FD5AE38
Data.l $AFA0DC11
Data.w $C313,$11D0
Data.b $83,$1A,$00,$C0,$4F,$D5,$AE,$38
EndDataSection
EndProcedure
; TEST CALL
Debug ClearIEHistory()
Code: Select all
DeleteFile("C:\Documents and Settings\Julien.PERSONNAL\Local Settings\Temporary Internet Files\myfile.jpg")
Code: Select all
; Clear Internet Explorer Histroy
; Tested on Win XP SP1 IE6.0.2800....
Procedure ClearIEHistory()
#IUrlHistoryStg2_QueryInterface = 0
#IUrlHistoryStg2_AddRef = 4
#IUrlHistoryStg2_Release = 8
#IUrlHistoryStg2_ClearHistory = 36
procRet = 0
CoInitialize_(0)
If CoCreateInstance_(?CLSID_CUrlHistory, 0, 1, ?IID_IUrlHistoryStg2, @myObject) = 0
CallCOM(#IUrlHistoryStg2_ClearHistory, myObject)
CallCOM(#IUrlHistoryStg2_Release, myObject)
procRet= 1
EndIf
ProcedureReturn procRet
DataSection
CLSID_CUrlHistory:
; 3C374A40-BAE4-11CF-BF7D-00AA006946EE
Data.l $3C374A40
Data.w $BAE4,$11CF
Data.b $BF,$7D,$00,$AA,$00,$69,$46,$EE
IID_IUrlHistoryStg2:
; AFA0DC11-C313-11D0-831A-00C04FD5AE38
Data.l $AFA0DC11
Data.w $C313,$11D0
Data.b $83,$1A,$00,$C0,$4F,$D5,$AE,$38
EndDataSection
EndProcedure
; TEST CALL
Debug ClearIEHistory()