Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long
Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Private Const ERROR_SUCCESS = 0&
Private Const KEY_CREATE_SUB_KEY = &H4&
Private Const KEY_SET_VALUE = &H2&
Private Const REG_SZ = 1
Private Const STANDARD_RIGHTS_WRITE = READ_CONTROL
Private Const KEY_WRITE = STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or KEY_CREATE_SUB_KEY
Private Const HKEY_CURRENT_USER = &H80000001
Private Sub ClearRecentProjects()
Dim KeyVal&
Dim ret&
Dim SubKeyName$
SubKeyName$ = "Software\Microsoft\Visual Basic\6.0\RecentFiles"
ret& = RegOpenKey(HKEY_CURRENT_USER, SubKeyName$, 0, KEY_WRITE, lphKey&)
If ret& = ERROR_SUCCESS Then
ret& = RegDeleteKey(lphKey&, "") 'delete the key
ret& = RegCloseKey(lphKey&)
End If
ret& = RegCreateKey(HKEY_CURRENT_USER, SubKeyName$, KeyVal&)
'ret& = RegSetValue(KeyVal&, vbNullString, REG_SZ, ByVal vbNullString, 0) ' not stricly necessary
ret& = RegCloseKey(KeyVal&)
End Sub