Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Spazzino - Avvia.frm

Avvia.frm

Caricato da: Natamas
Scarica il programma completo

  1. Dim FSO As New FileSystemObject
  2.     Dim a, b, c As Long
  3.     Dim Cronologia As String
  4.     Dim Temp As String
  5.     Dim Internet As String
  6.     Dim Cookies As String
  7.    
  8. Private Sub Form_Activate()
  9. Timer1.Enabled = True
  10. End Sub
  11.  
  12. Private Sub Pulisci()
  13. On Error Resume Next
  14. 'On Error GoTo GestoreErrori
  15.    
  16.     'Delimita dimensioni stringhe contenenti le cartelle speciali
  17.     Temp = Space(259)
  18.     Cronologia = Space(259)
  19.     Internet = Space(259)
  20.     Cookies = Space(259)
  21.    
  22.     'Legge la cartella Temp di Windows...
  23.     Temp = FSO.GetSpecialFolder(TemporaryFolder)
  24.    
  25.     '....e le altre speciali
  26.     a = SHGetFolderPath(hWnd, &H22, 0, 1, Cronologia)
  27.     b = SHGetFolderPath(hWnd, &H21, 0, 1, Cookies)
  28.     c = SHGetFolderPath(hWnd, &H20, 0, 1, Internet)
  29.    
  30.     'Rimuove spazi e caratteri NULL dalle stringhe ottenute
  31.     Cronologia = RTrim(Cronologia)
  32.     Cronologia = Mid(Cronologia, 1, Len(Cronologia) - 1)
  33.     Internet = RTrim(Internet)
  34.     Internet = Mid(Internet, 1, Len(Internet) - 1)
  35.     Cookies = RTrim(Cookies)
  36.     Cookies = Mid(Cookies, 1, Len(Cookies) - 1)
  37.    
  38.    'Pulisce le cartelle selezionate
  39.  
  40.     If MainForm.Check1.Value = 1 Then Call CleanFolder(Temp)
  41.     If MainForm.Check2.Value = 1 Then SHAddToRecentDocs 2, vbNullString 'Vedi nota in calce
  42.     If MainForm.Check3.Value = 1 Then Call CleanFolder(Internet)
  43.     If MainForm.Check4.Value = 1 Then Call CleanFolder(Cronologia)
  44.     If MainForm.Check5.Value = 1 Then Call CleanFolder(Cookies)
  45.    
  46.     'Una volta terminato, per non sapere nč leggere nč scrivere,
  47.     'setta come corrente la directory di Windows.
  48.    
  49.     ChDir FSO.GetSpecialFolder(WindowsFolder)
  50.  
  51.     Unload Me
  52. 'GestoreErrori:
  53. '    If Err.Number <> 0 Then
  54. '    Dim titolo As String
  55. '    titolo = App.Title & " - Errore N° " & Err.Number
  56. '    MsgBox Err.Description & Chr(13) & "Il programma verrā chiuso.", vbCritical, titolo
  57. '    End
  58. '    End If
  59. End Sub
  60.  
  61. 'Sub per la pulizia della cartella
  62. Private Sub CleanFolder(Folder As String)
  63. On Error Resume Next
  64. 'On Error GoTo GestoreErrori
  65. Dim FLD, Atr As Long
  66.  
  67.     ChDir Folder
  68.     FLD = Dir("*.*", vbArchive + vbHidden + vbReadOnly + vbSystem + vbDirectory)
  69.    
  70.     Do While Len(FLD)
  71.         Atr = GetAttr(FLD)
  72.         Select Case Atr
  73.             Case Is = vbDirectory
  74.                 FSO.DeleteFolder FLD, True   'True va indicato per indicare la forzatura della cancellazione
  75.             Case Is = vbDirectory + vbArchive
  76.                 FSO.DeleteFolder FLD, True
  77.             Case Is = vbDirectory + vbReadOnly
  78.                 SetAttr FLD, vbDirectory + vbArchive
  79.                 FSO.DeleteFolder FLD, True
  80.             Case Is = vbDirectory + vbHidden
  81.                 SetAttr FLD, vbDirectory + vbArchive
  82.                 FSO.DeleteFolder FLD, True
  83.             Case Is = vbDirectory + vbReadOnly + vbHidden
  84.                 SetAttr FLD, vbDirectory + vbArchive
  85.                 FSO.DeleteFolder FLD, True
  86.             Case Else
  87.                 SetAttr FLD, vbArchive   'Se un file č a sola lettura, lo imposta come archivio
  88.                 FSO.DeleteFile FLD       'e lo cancella
  89.         End Select
  90.         FLD = Dir
  91.     Loop
  92. 'GestoreErrori:
  93. '    If Err.Number <> 0 And Err.Number <> 76 Then
  94. '    Dim titolo As String
  95. '    titolo = App.Title & " - Errore N° " & Err.Number
  96. '    MsgBox Err.Description & Chr(13) & "Il programma verrā chiuso.", vbCritical, titolo
  97. '    End
  98. '    ElseIf Err.Number = 76 Then
  99. '    titolo = App.Title & " - Errore N° " & Err.Number
  100. '    MsgBox "Impossibile trovare il percorso della cartella" & Chr(13) & "Il programma verrā chiuso.", vbCritical, titolo
  101. '    End
  102. '    End If
  103. End Sub
  104.  
  105. Private Sub Form_Unload(Cancel As Integer)
  106.     MsgBox "Operazione terminata.", vbInformation, App.Title
  107. End Sub
  108.  
  109. Private Sub Timer1_Timer()
  110. Timer1.Enabled = False
  111. Call Pulisci
  112. End Sub
  113.  
  114. 'NOTA: L'API ShAddToRecentDocs, va usata in questo modo:
  115. 'ShAddToRecentDocs 2, NomeFile
  116. 'per aggiungere un file ai Dati Recenti.
  117. 'Passando un valore NULL invece del nome, il menu viene cancellato.