Dateiendung registrieren

    • VB.NET

    Es gibt 67 Antworten in diesem Thema. Der letzte Beitrag () ist von vb-2010-user.

      Hab es jetzt selber gelöst.

      für alle die se haben wollen, in Form_Load:

      VB.NET-Quellcode

      1. If My.Application.CommandLineArgs.Count > 0 Then
      2. Dim v As Array
      3. Dim mypath As String
      4. Dim commandlineargs As String = Environment.CommandLine
      5. v = Split(commandlineargs, """ ")
      6. mypath = v(1)
      7. RichTextBox1.Rtf = IO.File.ReadAllText(mypath, System.Text.Encoding.Default)
      8. End If
      kann man verkürzen und man sollte eine Abfrage einbauen ob die Datei auch existiert, aber es funktioniert und das is was ;)
      Habe hierzu mal ne schnelle Frage, rein theoretisch erstellt man mit der Dateiendung ja nur einen einfachen eintrag
      (wie aussehen, was öffnen)
      Wenn das Programm sich öffnet kommt Anfrage 2

      VB.NET-Quellcode

      1. If My.Application.CommandLineArgs.Count > 0 Then
      2. Dim v As Array
      3. Dim mypath As String
      4. Dim commandlineargs As String = Environment.CommandLine
      5. v = Split(commandlineargs, """ ")
      6. mypath = v(1)
      7. Form1.codecontent.Text = IO.File.ReadAllText(mypath, System.Text.Encoding.Default)
      8. End If


      Kann man sowas ähnliches auch "öffnen mit..." zubereiten?
      Er soll jede Datei endung öffnen die der User will.
      wäre auch nützlich von dem hab ich jetzt keinen Plan.

      LG.L
      Ja, das weiß ich aber was kann ich machen wenn es nicht in der Registry gespeichert ist?
      bisher steckt ja in dem vorpost (Code) von mir nicht das er alle endungen öffnen darf.
      Oder verstehe ich da was falsch?
      Auf jedenfalls klappst es nicht dann kommt der bestbekannte Error ^^

      LG.L
      Hi Singu,
      Also ich habe vor halber Ewigkeit das Tutorial von Kevin89 befolgt.
      jetzt lässt sich meine Datei endung auch so öffnen wie sie soll.

      Allerdings! nur meine Datei endung.
      Ich würde gerne alle Dateien die mit meiner Anwendung geöffnet werden so behandeln wie die endung, also ganz einfach gesagt der Text soll in das Textfeld.
      egal ob txt Datei .html Datei oder andere.

      LG.L
      Das mit der Dateiendung (nicht!) abfragen habe ich mir auch schon gedacht fragt sich nur wie ich das nicht mache.

      @Singu
      Mein Code ist der selbe wie von Kevin89 :) also ich habe nichts anderes gemacht wie dieses Tutorial befolgt.
      Und einen Code entworfen um alle Dateiendungen zu öffnen habe ich auch nicht, aber aus diesen Code kann man sicher was machen

      VB.NET-Quellcode

      1. If My.Application.CommandLineArgs.Count > 0 Then
      2. Dim v As Array
      3. Dim mypath As String
      4. Dim commandlineargs As String = Environment.CommandLine
      5. v = Split(commandlineargs, """ ")
      6. mypath = v(1)
      7. RichTextBox1.Rtf = IO.File.ReadAllText(mypath, System.Text.Encoding.Default)
      8. End If


      LG.L
      Ich möchte sie ja nicht alle Registrieren um sie dann per Doppelklick zu öffnen.
      am liebsten wäre mir (Datei Öffnen mit) Meine Anwendung.exe
      egal welche Dateiendung es hat, es wird in die Richtextbox geleitet.
      Ich will sie aber nicht alle Registrieren, das ist unnötige Arbeit und die Benutzer des Programms reißen mich auseinander.
      von wegen wo ist mein Editor, was leitet mich eine Dreamweaver Datei auf dein Programm.
      Man soll also selber entscheiden können welche Datei welches Programm öffnet.

      LG.L

      VB.NET-Quellcode

      1. If My.Application.CommandLineArgs.Count > 0 Then
      2. Dim xten As String = My.Application.CommandLineArgs.Item....?
      3. Form1.codecontent.Text = IO.File.ReadAllText(xten, System.Text.Encoding.Default)
      4. End If


      Mit der Commandolines habe ich noch nie gearbeitet,
      wie genau komme ich an den ausgewählten Link ?

      VB.NET-Quellcode

      1. If My.Application.CommandLineArgs.Count > 0 Then
      2. Form1.codecontent.Text = IO.File.ReadAllText(My.Application.CommandLineArgs(0), System.Text.Encoding.Default)
      3. End If


      Leider klappt es sowie ich mir das erhofft habe nicht, was mache ich da falsch?

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Lawliet“ ()

      Da kann ich dir leider nichts genaues geben, Debuggen geht schlecht wenn ich das mit öffnen mit mache
      Spoiler anzeigen

      VB.NET-Quellcode

      1. ************** Ausnahmetext **************
      2. System.ArgumentException: Illegales Zeichen im Pfad.
      3. bei System.IO.Path.CheckInvalidPathChars(String path)
      4. bei System.IO.Path.GetFileName(String path)
      5. bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
      6. bei System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize)
      7. bei System.IO.StreamReader..ctor(String path, Encoding encoding)
      8. bei System.IO.File.ReadAllText(String path, Encoding encoding)
      9. bei 1B7joI3SD1S3kXxj8D.oSvk8xgIFHpVybgYq5.CWPgHDd7Z()
      10. bei EaScriptable.Form1.mfkGENYvy(Object , EventArgs )
      11. bei System.EventHandler.Invoke(Object sender, EventArgs e)
      12. bei System.Windows.Forms.Form.OnLoad(EventArgs e)
      13. bei System.Windows.Forms.Form.OnCreateControl()
      14. bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
      15. bei System.Windows.Forms.Control.CreateControl()
      16. bei System.Windows.Forms.Control.WmShowWindow(Message& m)
      17. bei System.Windows.Forms.Control.WndProc(Message& m)
      18. bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
      19. bei System.Windows.Forms.ContainerControl.WndProc(Message& m)
      20. bei System.Windows.Forms.Form.WmShowWindow(Message& m)
      21. bei System.Windows.Forms.Form.WndProc(Message& m)
      22. bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
      23. bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
      24. bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
      Das muss in irgend einer Weise mit meinem Projekt zusammen hängen,
      Ich habe das mal nach meinem Verfahren gemacht wie ich sowas eigentlich machen würde.. siehe da es klappt.
      Aber bei meinem Standart Projekt klappt hier nichts ?(

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