Rien Geschrieben 20. Oktober 2012 Teilen Geschrieben 20. Oktober 2012 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Rien Geschrieben 24. Oktober 2012 Autor Teilen Geschrieben 24. Oktober 2012 OK, Thread bitte löschen. Hab das Problem wohl gefunden Danke sehr Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.