Der Tipp zeigt, wie man mit wenig Programm die angegebene Aufgabe lösen kann. Zunächst die Hintergrund-Programmierung: Imports System.Runtime.InteropServices Module dhmodPapierkorb <StructLayout(LayoutKind.Sequential, Pack:=1)> Public Structure SHQUERYRBINFO Dim cbSize As Int64 Dim i64Size As Long Dim i64NumItems As Long End Structure <DllImport("shell32.dll")> Public Function SHQueryRecycleBin(pszRootPath As String, ByRef ptSHQueryRBInfo As SHQUERYRBINFO) As Int64 End Function End Module Hier die Anwendungsprogrammierung: ' Anzahl und Größe Dateien im Windows Papierkorb ' ermitteln, AnyCPU Dim info As SHQUERYRBINFO With info .cbSize = Len(info) SHQueryRecycleBin(Nothing, info) lblAnzD.Text = .i64NumItems.ToString lblSizeD.Text = FormatBytesSys(.i64Size) End With Und als Zugabe eine Hilfsfunktion: ' file's size, art via suffix (in B, KB, MB, GB) Public Function FormatBytesSys(BytesCaller As ULong, Optional suffixArt As String = "k") As String 'art... k (Kurzbezeichnung der Größe) 'art... nicht k (Langbezeichnung) Dim DoubleBytes As Double Try Select Case BytesCaller Case Is >= 1099511627776 DoubleBytes = CDbl(BytesCaller / 1099511627776) 'TB Return FormatNumber(DoubleBytes, 2) & If(suffixArt = "k", " TB", " Terabyte") Case 1073741824 To 1099511627775 DoubleBytes = CDbl(BytesCaller / 1073741824) 'GB Return FormatNumber(DoubleBytes, 2) & If(suffixArt = "k", " GB", " Gigabyte") Case 1048576 To 1073741823 DoubleBytes = CDbl(BytesCaller / 1048576) 'MB Return FormatNumber(DoubleBytes, 2) & If(suffixArt = "k", " MB", " Megabyte") Case 1024 To 1048575 DoubleBytes = CDbl(BytesCaller / 1024) 'KB Return FormatNumber(DoubleBytes, 2) & If(suffixArt = "k", " KB", " Kilobyte") Case 0 To 1023 DoubleBytes = BytesCaller ' Bytes Return FormatNumber(DoubleBytes, 2) & " Bytes" Case Else Return "" End Select Catch Return "" End Try End Function Dieser Tipp wurde bereits 1.322 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
Neu! sevPopUp 2.0 ![]() Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Tipp des Monats Dieter Otter Doppelte Einträge aus einer Liste entfernen (.NET) Wie man schnell alle doppelten Einträge aus einer Liste entfernt, das erfahren Sie hier. Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
|
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |
|||||||||||||||||


Ermitteln von aktueller Objektanzahl und deren Gesamtgröße im Papierkorb


