OVH Cloud OVH Cloud

Cookie

7 réponses
Avatar
Pierre Gard
Bonjour,

Je cherche le moyen avec VB6 de déterminer si un cookie dont j'ai le nom
existe sur le disque et ensuite de le supprimer.
Merci d'avance

--
Pierre

7 réponses

Avatar
François Picalausa
Hello,

Jette un oeil à la faq:
http://faq.vb.free.fr/index.php?question`

et pour déterminer l'existence d'un fichier:
Function FileExists(ByRef sFileName As String) As Boolean
On Error Resume Next
FileExists = ((GetAttr(sFileName) And vbDirectory) = 0)
End Function

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Pierre Gard" a écrit dans le
message de news:
Bonjour,

Je cherche le moyen avec VB6 de déterminer si un cookie dont j'ai le
nom existe sur le disque et ensuite de le supprimer.
Merci d'avance


Avatar
Pierre Gard
Oui merci mais alors qu'il existe le cookie, il ne le détecte pas ???
Cookie:/

je ne suis pas sur que le nom que j'utilise est juste


--

Je reste à votre disposition
Avec mes meilleures salutations
Pierre-André Gard
PharmaSoft Sàrl
"François Picalausa" a écrit dans le message de
news:%
Hello,

Jette un oeil à la faq:
http://faq.vb.free.fr/index.php?question`

et pour déterminer l'existence d'un fichier:
Function FileExists(ByRef sFileName As String) As Boolean
On Error Resume Next
FileExists = ((GetAttr(sFileName) And vbDirectory) = 0)
End Function

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Pierre Gard" a écrit dans le
message de news:
> Bonjour,
>
> Je cherche le moyen avec VB6 de déterminer si un cookie dont j'ai le
> nom existe sur le disque et ensuite de le supprimer.
> Merci d'avance




Avatar
Zoury
> Cookie:/
je ne suis pas sur que le nom que j'utilise est juste



en effet.. :O/

les noms de fichiers Windows ne peuvent contenir de caractère /. De plus
l'extension des cookies est généralement .txt.

sur quel système d'exploitation travailles-tu?

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Avatar
Pierre Gard
Rebonjour,

J'utilise win2000 pro et le nom du fichier est celui ci dans la liste et
aussi sur propriété. J'aimerai bien connaîte un peu plus sur la
particularité des cookies.
Merci d'avance.

--

Avec mes meilleures salutations
Pierre

"Zoury" a écrit dans le message de
news:
> Cookie:/
> je ne suis pas sur que le nom que j'utilise est juste

en effet.. :O/

les noms de fichiers Windows ne peuvent contenir de caractère /. De plus
l'extension des cookies est généralement .txt.

sur quel système d'exploitation travailles-tu?

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/




Avatar
François Picalausa
Hello,

Ce nom reste tout ne même fort étonant!
Essaye avec un filelistbox/avec Dir d'énumérer les fichiers présents dans le
dossier cookies. Peut-être ont-ils un nom affiché et un nom réel? (comme
pour les temporary internet files)

Sinon, il s'agit peut-être d'une erreur dans la structure des fichiers
auquel cas une vérification du disque s'impose!

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Pierre Gard" a écrit dans le
message de news:
Rebonjour,

J'utilise win2000 pro et le nom du fichier est celui ci dans la liste
et aussi sur propriété. J'aimerai bien connaîte un peu plus sur la
particularité des cookies.


Avatar
Pierre Gard
Bonjour,

Non, ce n'est pas une erreur du disque mais bien comme tu le dis un nom
affiché et un nom réel. J'ai résolu le problème avec un exemple qui
travaille sur une mise en mémoire et qui traite les fichiers temporary
files.

Peux tu me dire comment déterminer le vrai nom d'un temporary file ?

Merci

Pierre

"François Picalausa" a écrit dans le message de
news:%2363S2$
Hello,

Ce nom reste tout ne même fort étonant!
Essaye avec un filelistbox/avec Dir d'énumérer les fichiers présents dans


le
dossier cookies. Peut-être ont-ils un nom affiché et un nom réel? (comme
pour les temporary internet files)

Sinon, il s'agit peut-être d'une erreur dans la structure des fichiers
auquel cas une vérification du disque s'impose!

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Pierre Gard" a écrit dans le
message de news:
> Rebonjour,
>
> J'utilise win2000 pro et le nom du fichier est celui ci dans la liste
> et aussi sur propriété. J'aimerai bien connaîte un peu plus sur la
> particularité des cookies.




Avatar
Pierre Gard
Mon exemple

Public Function recherchecookie(ByVal nomcookie As String, Optional vbefface
As Variant) As Boolean 'recherche un cookie dans internet temporary files
Dim ICEI As INTERNET_CACHE_ENTRY_INFO, RET As Long
Dim hEntry As Long, msg As VbMsgBoxResult
Dim MemBlock As New MemoryBlock
Dim vbnbrfichier As Long
recherchecookie = False
vbnbrfichier = 0
'Start enumerating the visited URLs
FindFirstUrlCacheEntry vbNullString, ByVal 0&, RET
'If Ret is larger than 0...
If RET > 0 Then
'... allocate a buffer
MemBlock.Allocate RET
'call FindFirstUrlCacheEntry
hEntry = FindFirstUrlCacheEntry(vbNullString, MemBlock.Handle, RET)
'copy from the buffer to the INTERNET_CACHE_ENTRY_INFO structure
MemBlock.ReadFrom VarPtr(ICEI), LenB(ICEI)
'Add the lpszSourceUrlName string to the listbox
If ICEI.lpszSourceUrlName <> 0 Then
If ICEI.lpszSourceUrlName <> 0 Then
If MemBlock.ExtractString(ICEI.lpszSourceUrlName, RET) nomcookie Then
recherchecookie = True
End If
vbnbrfichier = vbnbrfichier + 1
End If
End If
End If
'Loop until there are no more items
Do While hEntry <> 0
'Initialize Ret
RET = 0
'Find out the required size for the next item
FindNextUrlCacheEntry hEntry, ByVal 0&, RET
'If we need to allocate a buffer...
If RET > 0 Then
'... do it
MemBlock.Allocate RET
'and retrieve the next item
FindNextUrlCacheEntry hEntry, MemBlock.Handle, RET
'copy from the buffer to the INTERNET_CACHE_ENTRY_INFO structure
MemBlock.ReadFrom VarPtr(ICEI), LenB(ICEI)
'Add the lpszSourceUrlName string to the listbox
If ICEI.lpszSourceUrlName <> 0 Then
If MemBlock.ExtractString(ICEI.lpszSourceUrlName, RET) nomcookie Then
recherchecookie = True
End If
vbnbrfichier = vbnbrfichier + 1
End If

'Else = no more items
Else
Exit Do
End If
Loop
'Close enumeration handle
FindCloseUrlCache hEntry
'Delete our memory block
Set MemBlock = Nothing
' Msg = MsgBox("Do you wish to delete the Internet Explorer cache?",
vbYesNo + vbDefaultButton2 + vbQuestion)
' If Msg = vbYes Then
'loop trough the entries...
If Not IsMissing(vbefface) Then
For RET = 0 To vbnbrfichier
'...and delete them
DeleteUrlCacheEntry RET
Next RET
End If
' MsgBox "Cache deleted..."
' End If
End Function



'In the class module 'MemoryBlock':
Option Explicit
Private Const MEM_DECOMMIT = &H4000
Private Const MEM_RELEASE = &H8000
Private Const MEM_COMMIT = &H1000
Private Const MEM_RESERVE = &H2000
Private Const MEM_RESET = &H80000
Private Const MEM_TOP_DOWN = &H100000
Private Const PAGE_READONLY = &H2
Private Const PAGE_READWRITE = &H4
Private Const PAGE_EXECUTE = &H10
Private Const PAGE_EXECUTE_READ = &H20
Private Const PAGE_EXECUTE_READWRITE = &H40
Private Const PAGE_GUARD = &H100
Private Const PAGE_NOACCESS = &H1
Private Const PAGE_NOCACHE = &H200
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByVal
pDest As Long, ByVal pSrc As Long, ByVal ByteLen As Long)
Private Declare Function VirtualAlloc Lib "kernel32" (ByVal lpAddress As
Long, ByVal dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect
As Long) As Long
Private Declare Function VirtualFree Lib "kernel32" (ByVal lpAddress As
Long, ByVal dwSize As Long, ByVal dwFreeType As Long) As Long
Private Declare Function VirtualLock Lib "kernel32" (ByVal lpAddress As
Long, ByVal dwSize As Long) As Long
Private Declare Function VirtualUnlock Lib "kernel32" (ByVal lpAddress As
Long, ByVal dwSize As Long) As Long
Private Declare Function IsBadReadPtr Lib "kernel32" (ByVal lp As Long,
ByVal ucb As Long) As Long
Private Declare Function IsBadWritePtr Lib "kernel32" (ByVal lp As Long,
ByVal ucb As Long) As Long
Private Declare Function IsBadStringPtr Lib "kernel32" Alias
"IsBadStringPtrA" (ByVal lpsz As Long, ByVal ucchMax As Long) As Long
Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal
lpStringDest As String, ByVal lpStringSrc As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal
lpString As Long) As Long
Private m_VirtualMem As Long, lLength As Long
'Returns the handle of the allocated memory
Public Property Get Handle() As Long
Handle = m_VirtualMem
End Property
'Allocates a specific amount of bytes in the Virtual Memory
Public Sub Allocate(lCount As Long)
ReleaseMemory
m_VirtualMem = VirtualAlloc(ByVal 0&, lCount, MEM_COMMIT,
PAGE_EXECUTE_READWRITE)
VirtualLock m_VirtualMem, lCount
End Sub
'Reads from the allocated memory and writes it to a specified pointer
Public Sub ReadFrom(hWritePointer As Long, lLength As Long)
If IsBadWritePtr(hWritePointer, lLength) = 0 And IsBadReadPtr(Handle,
lLength) = 0 Then
CopyMemory hWritePointer, Handle, lLength
End If
End Sub
'Writes to the allocated memory and reads it from a specified pointer
Public Sub WriteTo(hReadPointer As Long, lLength As Long)
If IsBadReadPtr(hReadPointer, lLength) = 0 And IsBadWritePtr(Handle,
lLength) = 0 Then
CopyMemory Handle, hReadPointer, lLength
End If
End Sub
'Extracts a string from the allocated memory
Public Function ExtractString(hStartPointer As Long, lMax As Long) As String
Dim Length As Long
If IsBadStringPtr(hStartPointer, lMax) = 0 Then
ExtractString = Space(lMax)
lstrcpy ExtractString, hStartPointer
Length = lstrlen(hStartPointer)
If Length >= 0 Then
ExtractString = Left$(ExtractString, Length)
End If
End If
End Function
'Release the allocated memory
Public Sub ReleaseMemory()
If m_VirtualMem <> 0 Then
VirtualUnlock m_VirtualMem, lLength
VirtualFree m_VirtualMem, lLength, MEM_DECOMMIT
VirtualFree m_VirtualMem, 0, MEM_RELEASE
m_VirtualMem = 0
End If
End Sub
Private Sub Class_Terminate()
ReleaseMemory
End Sub


Pierre-André Gard
"Pierre Gard" a écrit dans le message
de news:%

Bonjour,

Non, ce n'est pas une erreur du disque mais bien comme tu le dis un nom
affiché et un nom réel. J'ai résolu le problème avec un exemple qui
travaille sur une mise en mémoire et qui traite les fichiers temporary
files.

Peux tu me dire comment déterminer le vrai nom d'un temporary file ?

Merci

Pierre

"François Picalausa" a écrit dans le message de
news:%2363S2$
> Hello,
>
> Ce nom reste tout ne même fort étonant!
> Essaye avec un filelistbox/avec Dir d'énumérer les fichiers présents


dans
le
> dossier cookies. Peut-être ont-ils un nom affiché et un nom réel? (comme
> pour les temporary internet files)
>
> Sinon, il s'agit peut-être d'une erreur dans la structure des fichiers
> auquel cas une vérification du disque s'impose!
>
> --
> François Picalausa (MVP VB)
> http://faq.vb.free.fr --- http://msdn.microsoft.com
> http://apisvb.europe.webmatrixhosting.net
>
> "Pierre Gard" a écrit dans le
> message de news:
> > Rebonjour,
> >
> > J'utilise win2000 pro et le nom du fichier est celui ci dans la liste
> > et aussi sur propriété. J'aimerai bien connaîte un peu plus sur la
> > particularité des cookies.
>
>