Wie kann ich in VB.NET 2003 den Papierkorb verwenden?

Antwort

In VB.NET 2003 gibt es keine eingebaute .NET-Klassenbibliothek, um Dateien direkt in den Windows-Papierkorb zu verschieben. Du kannst jedoch die Windows-API-Funktion **SHFileOperation** aus der Shell32.dll verwenden, um Dateien oder Ordner in den Papierkorb zu verschieben. Hier ein Beispiel, wie du das machen kannst: 1. **Deklariere die benötigten Strukturen und Funktionen:** ```vb.net Imports System.Runtime.InteropServices Public Class Papierkorb <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Auto)> Private Structure SHFILEOPSTRUCT Public hwnd As IntPtr Public wFunc As Integer <MarshalAs(UnmanagedType.LPTStr)> Public pFrom As String <MarshalAs(UnmanagedType.LPTStr)> Public pTo As String Public fFlags As Short Public fAnyOperationsAborted As Boolean Public hNameMappings As IntPtr <MarshalAs(UnmanagedType.LPTStr)> Public lpszProgressTitle As String End Structure <DllImport("shell32.dll", CharSet:=CharSet.Auto)> Private Shared Function SHFileOperation(ByRef lpFileOp As SHFILEOPSTRUCT) As Integer End Function Private Const FO_DELETE As Integer = &H3 Private Const FOF_ALLOWUNDO As Short = &H40 Private Const FOF_NOCONFIRMATION As Short = &H10 ' Methode zum Verschieben in den Papierkorb Public Shared Function InPapierkorbVerschieben(ByVal dateipfad As String) As Boolean Dim shf As New SHFILEOPSTRUCT() shf.wFunc = FO_DELETE shf.pFrom = dateipfad & vbNullChar & vbNullChar shf.fFlags = FOF_ALLOWUNDO Or FOF_NOCONFIRMATION Dim result As Integer = SHFileOperation(shf) Return (result = 0) End Function End Class ``` 2. **Verwendung:** ```vb.net Dim erfolg As Boolean = Papierkorb.InPapierkorbVerschieben("C:\Pfad\zur\Datei.txt") If erfolg Then MessageBox.Show("Datei wurde in den Papierkorb verschoben.") Else MessageBox.Show("Fehler beim Verschieben in den Papierkorb.") End If ``` **Hinweise:** - Der Pfad muss vollständig sein. - Für mehrere Dateien kannst du die Pfade mit einem Null-Zeichen (`vbNullChar`) trennen. - Diese Methode funktioniert unter Windows-Betriebssystemen. **Weitere Informationen:** - [Microsoft Doku zu SHFileOperation](https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shfileoperationa) Mit dieser Methode kannst du in VB.NET 2003 Dateien und Ordner in den Papierkorb verschieben.

Neue Frage stellen

Verwandte Fragen

Wie erhalte ich in VB.NET 2003 eine Rückmeldung, wenn das Verschieben einer Datei in den Papierkorb abgebrochen wird?

In VB.NET 2003 gibt es keine eingebaute, direkte Möglichkeit, den Abbruch (z.B. durch den Benutzer) beim Verschieben einer Datei in den Papierkorb zu erkennen, da die Standardmethoden wie `File.D... [mehr]

Warum funktioniert 'TextBox1.ContextMenu = Nothing' in VB.NET 2003 nicht?

In VB.NET 2003 (also .NET Framework 1.1) gibt es die Eigenschaft `ContextMenu` für Steuerelemente wie `TextBox`. Allerdings akzeptiert diese Eigenschaft **kein `Nothing`** (bzw. `null`), um das K... [mehr]

Wie deaktiviere ich in VB.NET 2003 das ContextMenu einer TextBox, um die rechte Maustaste anderweitig zu nutzen?

Um in VB.NET 2003 das Standard-Contextmenü einer TextBox zu deaktivieren und die rechte Maustaste für eigene Zwecke zu verwenden, kannst du das ContextMenu der TextBox auf `Nothing` setzen u... [mehr]

Wie prüfe ich in VB.NET 2003, ob ein String sowohl Buchstaben als auch Ziffern enthält?

Um in VB.NET 2003 zu prüfen, ob ein String neben Buchstaben auch Ziffern enthält, kannst du eine Schleife verwenden, die durch jeden Buchstaben des Strings geht und prüft, ob mindestens... [mehr]

Wie löscht man in VB.NET 2003 eine Spalte aus einem ListView?

In VB.NET 2003 kannst du eine Spalte (Column) aus einem ListView entfernen, indem du sie aus der `Columns`-Sammlung des ListView löschst. Das geht zum Beispiel so: ```vb.net ' Angenommen, d... [mehr]

Kann das ListView in VB.NET 2003 einzelne Spalten sortieren?

Das ListView-Steuerelement in VB.NET 2003 unterstützt von Haus aus keine automatische Spaltensortierung, wie man es etwa von DataGridView kennt. Allerdings kannst du das Sortieren einzelner Spalt... [mehr]

Wie wandle ich mit VB.NET 2003 einen String in eine Grafik um, um dessen Laufweite mit MeasureString zu messen?

Um in VB.NET 2003 einen String in eine Grafik umzuwandeln und dessen Laufweite (Breite) mit `MeasureString` zu messen, gehst du wie folgt vor: 1. **Importiere die benötigten Namespaces:** ```... [mehr]

Wie kann ich in VB.NET 2003 beim Scrollen von Panel1 (AutoScroll = True) ein Objekt in Panel2 parallel bewegen?

Um in VB.NET 2003 ein Objekt in `Panel2` parallel zur Scrollbewegung von `Panel1` zu bewegen, kannst du das `Scroll`-Ereignis von `Panel1` verwenden. Da `Panel` in .NET 1.1 (also auch in VB.NET 2003)... [mehr]

Warum funktioniert 'Panel1.Scroll' in VB.NET 2003 nicht?

In VB.NET 2003 (also .NET Framework 1.1) gibt es die Eigenschaft oder das Ereignis `Panel1.Scroll` so, wie man es aus späteren .NET-Versionen kennt, noch nicht. Das Panel-Steuerelement (`System.W... [mehr]

Wie kann ich in VB.NET 2003 feststellen, ob aktuell ein Scrollvorgang stattfindet?

In VB.NET 2003 gibt es keine direkte, eingebaute Eigenschaft oder ein Ereignis, das explizit anzeigt, ob ein Scrollvorgang gerade stattfindet. Du kannst jedoch das Scrollen in Steuerelementen wie `Pan... [mehr]