Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Explorer Absturtz bei Rechtsklick, wegen Programm?

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

seit dem ich mit Visual Studio 2010 arbeite und mein Programm regelmäßig compile und benutze, macht meine Explore.exe mächtig Probleme bei der Kontextmenüauswahl durch den Rechtsklick.

Er stürzt wirklich jedesmal ab. Auch wenn ich die "Rechtsklicktaste" auf der Tastatur benutze. Hängt das eventuell mit meinem Code zusammen?

Vielleicht könnt ihr ja mal drüber schauen und mir sagen ob der da Probleme macht. Danke


Imports System.IO


Public Class mainWindow


    'definiert updVerz als String und weißt den Dateipfad der neuest Datei zu

    Public Const updVerz As String = "C:\Users\rensch\Documents\Datenaustausch\PsSchrOmp\PsSchrOmp.exe"

    'deklariert args = aktueller Standort als String

    Public args As String()

    Public ofileInfo As String

    Public nfileInfo As String

    Dim upd As Boolean


    Public Sub mainWindow_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        'Mausposition ermitteln

        Dim positionPoint As Point = Cursor.Position

        'Fenster an Mausposition setzen

        Me.Location = positionPoint

        'Inhalt der Zwischenablage löschen

        Clipboard.Clear()

        'Liest den aktuellen Standpunkt des Verzeichnisses ein

        args = Environment.GetCommandLineArgs()

        'Gibt aktuellen Standpunkt in Textbox aus

        aktPfad.Text = "" + args(1) + ""

        'Liest die aktuelle Dateiversion des lokalen Programms ein

        Dim ofileInfo As FileVersionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(args(0))

        'Gibt die aktuelle Dateiversion in Textbox aus

        aktVer.Text = "" + ofileInfo.FileVersion + ""

        'Liest die Dateiversion des neuen Programms ein

        Dim nfileInfo As FileVersionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(updVerz)


    End Sub


    'Prüfung ob args ein Verzeichnis ist

    'gibt true oder false zurück

    Public Function isFolder(ByVal args As String) As Boolean

        Dim dI As System.IO.DirectoryInfo

        dI = New DirectoryInfo(args)

        'Prüft ob eine Dateiendung vorhanden ist

        If Not dI.Extension.Length = 0 Then

            isFolder = False

        Else

            isFolder = True

        End If

    End Function



    Public Sub cmdSetzen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSetzen.Click

        'Prüft ob Verzechnis true oder false ist

        If isFolder(args(1)) = True Then

            Dim Setzen As New System.Diagnostics.Process

            'attrib Befehl

            Setzen.StartInfo.FileName = "attrib"

            'Parameter für den attrib Befehl

            Setzen.StartInfo.Arguments = "+R """ + args(1) + """\*.* /S /D"

            'Versteckt die Prozessinformationen

            Setzen.StartInfo.WindowStyle = ProcessWindowStyle.Hidden

            'Führt den Befehl aus

            Setzen.Start()

            MsgBox("Schreibschutz erfolgreich gesetzt", 0, "Schreibschutz")

        Else

            MsgBox("Kein Verzeichnis", 16, "ERROR")

        End If

    End Sub


    Public Sub cmdNehmen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNehmen.Click

        'Prüft ob Verzechnis true oder false ist

        If isFolder(args(1)) = True Then

            Dim Nehmen As New System.Diagnostics.Process

            'attrib Befehl

            Nehmen.StartInfo.FileName = "attrib"

            'Parameter für den attrib Befehl

            Nehmen.StartInfo.Arguments = "-R """ + args(1) + """\*.* /S /D"

            'Versteckt die Prozessinformationen

            Nehmen.StartInfo.WindowStyle = ProcessWindowStyle.Hidden

            'Führt den Befehl aus

            Nehmen.Start()

            MsgBox("Schreibschutz erfolgreich aufgehoben", 0, "Schreibschutz")

        Else

            MsgBox("Kein Verzeichnis", 16, "ERROR")

        End If

    End Sub


    Public Sub cmdZippen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdZippen.Click

        'Prüft ob Verzechnis true oder false ist

        If isFolder(args(1)) = True Then

            Dim SevenZip As New System.Diagnostics.Process

            'Pfad zur 7z.exe

            SevenZip.StartInfo.FileName = "C:\Program Files\7-Zip\7z.exe"

            'Parameter für die 7z-Konsole

            SevenZip.StartInfo.Arguments = "a -sfx """ + args(1) + ".exe"" """ + args(1) + "\"" -mx9"

            'Versteckt die Prozessinformationen

            SevenZip.StartInfo.WindowStyle = ProcessWindowStyle.Hidden

            'Führt den Befehl aus

            SevenZip.Start()

            MsgBox("Verzeichnis erfolgreich komprimiert", 0, "Komprimierung")

            'Kopiert .exe Pfad in Zwischenablage 

            Clipboard.SetText(args(1) + ".exe")

        Else

            MsgBox("Kein Verzeichnis", 16, "ERROR")

        End If

    End Sub


    Private Sub cmdInfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdInfo.Click

        MsgBox("Die PsSchrOmp.exe Software ist eine, von René Schell geschrieben, Unterstützungssoftware, für das Packen von Auslieferungspaketen. Sie fasst die Funktionen Schreibschutz setzen, Schreibschutz nehmen und Verzeichnis komprimieren zusammen.", 65, "Information")

    End Sub


    Private Sub cmdUpd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUpd.Click

        'Prüfen ob Programmversionen gleich sind

        upd = String.Compare(nfileInfo, ofileInfo)

        'Was soll getan werden wenn geprüft?

        If upd = True Then

            If MsgBox("Es gibt eine neue Version. Jetzt das Programm aktualisieren?", vbYesNo, "Information") = vbYes Then

                Dim update As New System.Diagnostics.Process

                'xcopy Befehl

                update.StartInfo.FileName = "xcopy"

                'Parameter für den xcopy Befehl

                update.StartInfo.Arguments = """" + updVerz(1) + """" + args(0) + """"

                'Versteckt die Prozessinformationen

                'update.StartInfo.WindowStyle = ProcessWindowStyle.Hidden

                'Führt den Befehl aus

                update.Start()

            End If

        Else

            MsgBox("Das Programm ist auf dem neuesten Stand.", 0, "Information")

        End If

    End Sub


    Private Sub cmdExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdExit.Click

        'Programm beenden

        Me.Close()

    End Sub


End Class


Ich danke euch im Vorraus.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.