Dateiendung registrieren

    • VB.NET

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

      Ohne das ganze hier durchgelesen zu haben;
      bei mir kommt immer eine Fehlermeldung:

      Brainfuck-Quellcode

      1. See the end of this message for details on invoking
      2. just-in-time (JIT) debugging instead of this dialog box.
      3. ************** Exception Text **************
      4. System.ArgumentException: Illegal characters in path.
      5. at System.IO.Path.CheckInvalidPathChars(String path)
      6. at System.IO.Path.GetFileName(String path)
      7. at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
      8. at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize)
      9. at System.IO.StreamReader..ctor(String path, Encoding encoding)
      10. at System.IO.File.ReadAllText(String path, Encoding encoding)
      11. at MySQLEditor.Form1.Form1_Load(Object sender, EventArgs e) in C:\Users\Tobi\Documents\Visual Studio 2008\Projects\MySQLEditor\MySQLEditor\Form1.vb:line 66
      12. at System.EventHandler.Invoke(Object sender, EventArgs e)
      13. at System.Windows.Forms.Form.OnLoad(EventArgs e)
      14. at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
      15. at System.Windows.Forms.Control.CreateControl()
      16. at System.Windows.Forms.Control.WmShowWindow(Message& m)
      17. at System.Windows.Forms.Control.WndProc(Message& m)
      18. at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
      19. at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
      20. ************** Loaded Assemblies **************
      21. mscorlib
      22. Assembly Version: 2.0.0.0
      23. Win32 Version: 2.0.50727.4952 (win7RTMGDR.050727-4900)
      24. CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
      25. ----------------------------------------
      26. MySQLEditor
      27. Assembly Version: 1.0.0.0
      28. Win32 Version: 1.0.0.0
      29. CodeBase: file:///C:/Users/Tobi/Documents/Visual%20Studio%202008/Projects/MySQLEditor/MySQLEditor/bin/Debug/MySQLEditor.exe
      30. ----------------------------------------
      31. Microsoft.VisualBasic
      32. Assembly Version: 8.0.0.0
      33. Win32 Version: 8.0.50727.4927 (NetFXspW7.050727-4900)
      34. CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
      35. ----------------------------------------
      36. System
      37. Assembly Version: 2.0.0.0
      38. Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
      39. CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
      40. ----------------------------------------
      41. System.Windows.Forms
      42. Assembly Version: 2.0.0.0
      43. Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
      44. CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
      45. ----------------------------------------
      46. System.Drawing
      47. Assembly Version: 2.0.0.0
      48. Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
      49. CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
      50. ----------------------------------------
      51. System.Runtime.Remoting
      52. Assembly Version: 2.0.0.0
      53. Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
      54. CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
      55. ----------------------------------------
      56. SyntaxDocument
      57. Assembly Version: 0.0.0.0
      58. Win32 Version: 0.0.0.0
      59. CodeBase: file:///C:/Users/Tobi/Documents/Visual%20Studio%202008/Projects/MySQLEditor/MySQLEditor/bin/Debug/SyntaxDocument.DLL
      60. ----------------------------------------
      61. System.Data
      62. Assembly Version: 2.0.0.0
      63. Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
      64. CodeBase: file:///C:/Windows/assembly/GAC_64/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
      65. ----------------------------------------
      66. System.Xml
      67. Assembly Version: 2.0.0.0
      68. Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
      69. CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
      70. ----------------------------------------
      71. ************** JIT Debugging **************
      72. To enable just-in-time (JIT) debugging, the .config file for this
      73. application or computer (machine.config) must have the
      74. jitDebugging value set in the system.windows.forms section.
      75. The application must also be compiled with debugging
      76. enabled.
      77. For example:
      78. <configuration>
      79. <system.windows.forms jitDebugging="true" />
      80. </configuration>
      81. When JIT debugging is enabled, any unhandled exception
      82. will be sent to the JIT debugger registered on the computer
      83. rather than be handled by this dialog box.

      Wieso einfach, wenn es auch schwer geht? xD

      Ich habe diese Frage schon oft gelesen.
      Bei mir hat diese Methode noch nie Funktioniert.

      Ich habe folgende Methode entdeckt, bzw. für mich entdeckt xD

      Visual basic bietet von vornherein die möglichkeit Dateiendungen zu registrieren.

      Ihr müsst folgendes machen:

      1. Oben unter dem Menüpunkt "Projekt" auf "Deine Apllikation-Eigenschaften".
      2. In den Menüpunkt "Veröfentlichen" wechseln.
      3. Auf den Button "Optionen..." klicken.
      4. "Dateizuordnung" auswählen.
      5. Nun ganz einfach das dort ausfüllen.
      6. Fertig xD

      Zu Punkt 5 ein Beispiel:
      Bei Erweiterung: .mp3
      Bei Beschreibung: Eine Musikdatei
      Bei ProgID: mp3
      Bei Symbol: Hier fügst du ein Icon ein, dass dann bei der Datei .mp3 erscheinen soll

      So einfach gehts xD
      hallo,
      ich versuchte den coed erstmal um eine mp3 auf einen anderen player zu registrieren(goomplayer). um zu sehen ob es funktioniert.das programm zeigt mir an das es funktioniert hat aber wenn ich doppelklick auf eine mp3 mache , öffnet es windows media player
      was tun? hilfe

      ps:ich nutze windows 7
      ja das war nur zum testen ob es mit dem code funktioniert.ich möchte das es in der install(die ich auch in vb schreibe) automatisch registriert wird.

      noch eine frage mit dem argument gibt das eine mp3 automatisch mit? und ich als volltrotel bekomme es nicht hin, es mit dem gelesenen argument in ein laben zu schreiben also den daatei link.geht das?
      Mal als Admin starten versucht ?
      "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

      Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
      Der Code ist ja ekelhaft.

      Hab ihn schonmal etwas besser gemacht, bin mir aber sicher das geht auch ohne My.Computer

      Wenn ich das Ganze ohne My.Computer hinbekommen habe, poste ich es.

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

      Hey,

      so nun hier der saubere Code:

      Importierungen :

      VB.NET-Quellcode

      1. Imports Microsoft.Win32, System.IO



      VB.NET-Quellcode

      1. Private Function RegFile(ByVal Endung As String, ByVal Nombre As String, ByVal Pat As String, ByVal IconPat As String) As Boolean
      2. Try
      3. Dim SubK As RegistryKey = Registry.ClassesRoot.CreateSubKey(Endung)
      4. SubK.SetValue("", Nombre)
      5. SubK.SetValue("Content Type", "text/plain")
      6. SubK.SetValue("PerceivedType", "text")
      7. SubK = Registry.ClassesRoot.CreateSubKey(Endung & "\ShellNew")
      8. SubK.SetValue("Nullfile", "")
      9. Dim K As RegistryKey = Registry.ClassesRoot.CreateSubKey(Nombre)
      10. K.SetValue("", Nombre)
      11. K = Registry.ClassesRoot.CreateSubKey(Nombre & "\shell\open\command")
      12. K.SetValue("", """" & Pat & """" & " %1")
      13. K = Registry.ClassesRoot.CreateSubKey(Nombre & "\DefaultIcon")
      14. K.SetValue("", """" & IconPat & """")
      15. Return True
      16. Catch ex As Exception
      17. Return False
      18. End Try
      19. End Function

      VB.NET-Quellcode

      1. Private Sub DelFile(ByVal Endung As String, ByVal Nombre As String)
      2. Try
      3. If Registry.ClassesRoot.OpenSubKey(Endung) IsNot Nothing Then
      4. Registry.ClassesRoot.DeleteSubKeyTree(Endung)
      5. Registry.ClassesRoot.DeleteSubKeyTree(Nombre)
      6. End If
      7. Catch
      8. End Try
      9. End Sub



      Aufrufbeispiel Dateiendung registrieren:

      VB.NET-Quellcode

      1. If RegFile(".woood", "woood-Datei", Application.ExecutablePath, Path.Combine(Application.StartupPath, "b.ico")) Then
      2. MessageBox.Show("Die Dateiendung *.woood wurde erfolgreich registiert.", "Info")
      3. Else
      4. MessageBox.Show("Die Dateiendung konnte nicht registriert werden.")
      5. End If


      Aufrufbeispiel Dateiendung löschen:

      VB.NET-Quellcode

      1. DelFile(".woood", "woood-Datei")



      Mfg Kevin.
      hallo,
      ich machte es nun wie es stand um es standartmäßig zu registrieren in vb aber wenn cih ein programm damit öffne, passiert nichts.was ja auch logisch ist da mein programm ja nciht weis was es mit den daten soll kann mir einer helfen ich möchte eigentlcih erstmal nur ein label in dem der link zud er datei erscheint ich habe ausprobiert gelesen aber ich kapier das einfach nciht.
      Du musst das Argument, was dein Programm kriegt, auswerten. Das lautet standardmäßig so:

      Quellcode

      1. PfadzumProgramm.exe C:\Pfad\Datei.lol


      GetCommandLineArgs: msdn.microsoft.com/de-de/libra…t.getcommandlineargs.aspx
      „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

      -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
      hallo,
      ich verwende den code:

      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. If Not link1.Text = ("") Then
      8. axmediaplayer1.URL = (link1.Text)
      9. End If
      10. End If


      so wie mir und auch euch sicher schon aufgefallen ist wird der link aber noch nicht an das label link1 weiter gegeben ich habe es probiert mit mypath aber es kam ein fehler mus ich v nehmen? oder nochwas dazu schreiben


      bitte helft mir (schonwieder mal bin ich auf euch angewiesen)

      mfg robin

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Robin (Black-Knight)“ ()