Clipboardinhalt sicher löschen

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Clipboardinhalt sicher löschen

    Hallo Leute,
    da sich in den letzten Tagen jemand gefragt hat was ich mit meinen Konstruktionen erreichen möchte, frage ich mich, ob es doch eine einfachere Lösung zum sicheren löschen des im Clipboard befindlichen Inhalts gibt.
    Dazu Publiziere ich mal nicht nur den angedeuteten Code, sondern den Code, so wie ich ihn geschrieben habe.

    Solltet ihr eine bessere Lösung hierfür parat haben, dann Post-et diese doch bitte einmal.

    Hier mein Teil dazu:
    Spoiler anzeigen

    C#-Quellcode

    1. public static void ClipboardClear() {
    2. Thread tcc = new Thread(() => TryClipboardClear()) { IsBackground = false };
    3. tcc.SetApartmentState(ApartmentState.STA);
    4. tcc.Start();
    5. }
    6. static void TryClipboardClear() {
    7. try {
    8. Clipboard.Clear();
    9. }
    10. catch (Exception ex) {
    11. System.Diagnostics.Debug.WriteLine($"Exception ClipboardClear: {ex.Source}");
    12. }
    13. }

    Das Chaos beginnt mit komprimierter Ordnung (Steppenpferd 2019)

    Steppenpferd schrieb:

    da sich in den letzten Tagen jemand gefragt hat
    Diese Frage kam von mir.Meine Frage im Thread Zugriff aus Statischer Klasse - System.InvalidOperationException war:

    RodFromGermany schrieb:

    Warum rufst Du Clipboard.Clear() in einem zweiten Thread auf?
    Den kannst Du Dir voll sparen, wenn der Rest nebenläufig bleibt.
    Daraufhin kam von Dir per PN diese Antwort:

    Steppenpferd schrieb:

    Wenn Clipboard.Clear() eine Exception auslöst bleiben die Daten im ClipBoard.
    Wird es über einen Thread aufgerufen, wird die Exception zwar ausgelöst, aber die Daten im ClipBoard werden gelöscht.
    und ich bat Dich, Deine Antwort im genannten Thrwad zu veröffentlichen, was Du leider nicht getan gast.
    ====
    Kannst Du einen Konstrukt posten, in dem Clipboard.Clear() eine Exception wirft?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Takafusa schrieb:

    Was genau ist dein Ziel? Clipboard leeren is klar, aber wann und warum?
    Auf meinem anderen Rechner ist das Automatische ausfüllen von Formularen deaktiviert. Um diese aber gegebenenfalls doch schnell ausfüllen zu können verwende ich ein Tool, bei dem das Clipboard dann aber nach 5 Sekunden wieder gelöscht wird, damit nichts von meinen Daten im Copy-speicher bleibt.

    RodFromGermany schrieb:

    Diese Frage kam von mir.Meine Frage im Thread Zugriff aus Statischer Klasse - System.InvalidOperationException war:
    Nein, ich meinte jemand anderen, allerdings im gleichen Thread.

    RodFromGermany schrieb:

    und ich bat Dich, Deine Antwort im genannten Thrwad zu veröffentlichen, was Du leider nicht getan gast.
    Sorry das hab ich nicht gesehen und der Thread wurde bereits als Erledigt markiert.

    Edit: Kannst Du einen Konstrukt posten, in dem Clipboard.Clear() eine Exception wirft?
    Die Exception wird im oben genannten Thread geworfen und zwar dann wenn die Methode aus einer Timer-Instanz ausgerufen wird.
    Das Chaos beginnt mit komprimierter Ordnung (Steppenpferd 2019)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Steppenpferd“ ()

    Steppenpferd schrieb:

    und der Thread wurde bereits als Erledigt markiert.
    Dann hängst Du einfach den nächsten Post an oder nimmst den Haken wieder raus.
    ===
    Postest Du bitte noch mal solch einen Code?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany Habs jetzt fast eine Stunde versucht zu Reproduzieren und bekomme die Exception nicht mehr.
    Habe Heute aber im Browser die Sicherheitseinstellungen geändert und sämtlich gespeicherte Daten gelöscht.
    Vermute schon fast das es damit etwas zu tun hatte. Das Problem an sich kann man ja sogar mit "Clipboard.Clear() Crash" Googeln.
    Und Fakt ist, das das Clipboard mit obigem Code gelöscht wird, selbst wenn die Exception geworfen wird.
    Das Chaos beginnt mit komprimierter Ordnung (Steppenpferd 2019)
    @Steppenpferd OK. Wenn es jetzt läuft, ist es ja in Ordnung.
    Dass beim Clipboard.Clear() eine Exception kommt, kann ich mir nur schlecht vorstellen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @Steppenpferd Welche dieser Exceptions ist denn bei Dir aufgetreten?
    Jedes WinForm-Projekt arbeitet per Default im STAThread.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!