Hardware sicher entfernen

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von julianibus.

    Hardware sicher entfernen

    Hallo

    ich habe ein programm erstellt, das immer vom usb-stick gestartet wird.
    jetzt soll bei der formclosed aktion der windows dialog "Hardware sicher entfernen" angezeigt.

    das klappt auch soweit ganz gut.

    Quellcode

    1. Private Sub ToolBar_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
    2. Process.Start("rundll32", "shell32.dll,Control_RunDLL hotplug.dll") 'Hardware sicher entfernen
    3. End Sub


    jedoch wenn ich den usb stick dann entfernen möchte, geht das nicht, da der prozess "vom usb stick" ausgefügrt wird ... oder so

    wenn ich mit vb eine verknüpfung starte, die den dialog dann öffnet, geht das
    also dachte ich, man könnte die verknüpfung vielleicht in die ressource einbinden, und dann später starten...

    wie kann man das problem lösen??
    ich habe es geschafft

    Quellcode

    1. Dim WnD = System.Environment.GetFolderPath(Environment.SpecialFolder.System)
    2. Dim ExterneAnwendung As New System.Diagnostics.Process()
    3. ExterneAnwendung.StartInfo.WorkingDirectory = WnD
    4. ExterneAnwendung.StartInfo.FileName = WnD & "\rundll32.exe"
    5. ExterneAnwendung.StartInfo.Arguments = "shell32.dll,Control_RunDLL hotplug.dll"
    6. ExterneAnwendung.Start()

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Denny“ ()

    naja...du könntest dir überlegen, was dabei eigentlich passiert....
    und dies selbst nachstellen

    was genau passiert eigentlich dabei,wenn man eine hardware "sicher" entfernt...wird da nicht einfach nur jeglicher schreib- und lesezugriff unterbrochen und der strom abgestellt...oder was genau passiert da?
    @Werewolve: Bei USB Sticks ist es nicht ganz so schlimm, wenn er nicht abgemeldet wird. Bei Festplatten könnte da druchaus mehr kaputt gehen, wenn sie nicht ordentlich abgemeldet wird.

    Die Info von doci soll dir klar machen, dass du nicht aus deinem Programm aus den USB Stick entfernen kannst, da dazu das Programm noch laufen muss, es jedoch kein USB Gerät abgemeldet werden kann, wenn noch eine Application oder zugriff läuft.

    Eine Lösung wäre, du schreibst dir ein kleines zusatz Programm, welches beim Start automatisch in den Temp Ordner des jeweiligen Client PCs kopiert wird. Wenn dein Programm beendet wird, wird das zusatz Prog gestartet, welches wartet bis das Hauptprog beendet ist und dann versucht die Hardware zu entfernen.
    Also ich hab eine externe Festplatte immer angeschlossen. Wenn ich die "sicher entferne" dann hat die immer noch Strom und es passiert nichts. Mich würde auch Interessieren was da eigentlich gemacht wird, wenn man ein Medium "sicher entfernt"...