Texteditor als Standardprogramm

  • VB.NET

Es gibt 41 Antworten in diesem Thema. Der letzte Beitrag () ist von aligator.

    Texteditor als Standardprogramm

    Ich möchte gerne einen selbst erstellten Texteditor als standard .txt editor einrichten
    Nun das Problem:
    Wenn ich das mache und dann eine txt datei öffne ist dies (natürlich) nicht im Programm, weil windows natürlich nicht weiß, in welche Textbox(Richtextbox1) es den Text kopieren soll!

    Wie kann ich das Programmieren?
    Hi,

    mit diesem Tutorial kannst du dein Dateiformat registrieren. Dann erhält dein Program als Kommandozeilen-Parameter den Pfad der geöffneten Datei. Diesen kannst du über die Environment.GetCommandLineArgs()-Funktion auslesen und dann mit dem Pfad als Information die Datei einlesen (beispielsweise über einen FileStream) und in der RichtTextBox anzeigen.

    MfG
    so schwer ist des nicht.

    mit dem tut kannst du die dateiendung für dein programm registrieren.

    öfnetst du jetzt eine der registrierten datei, dann wird als Kommandozeilen-Parameter der pfad zur datei mitgeschickt.

    diesen parameter kannst du mit Environment.GetCommandLineArgs() auslesen
    :P Mfg Aligator :P
    Könntest du mir mal bitte nen Code posten :D

    Scheinbar bin ich zu blöd dazu, aber ich verstehe das nicht.
    Angenommen ich möchte die Endung '.exe' registrieren, welchen Code
    muss ich dann wo reinschreiben ?
    Und von wo muss ich dann was aufrufen...
    Bin noch totaler Anfänger, von daher ;)

    Und bitte entschuldigt mene Schreibweise oben, war etwas genervt :)

    LG
    Ich hab jetzt zum 2. mal die Sufu angeschmissen und sihe da etwas gefunden,das unter
    Windows 7 einwandfrei und ohne Umwege funktioniert.

    VB.NET-Quellcode

    1. If Environment.GetCommandLineArgs().Count > 1 Then
    2. Dim FileName As String = Environment.GetCommandLineArgs()(1)
    3. 'z.B.
    4. TextBox1.Text = IO.File.ReadAllText(FileName)
    5. End If


    Einfach den Code ins Form-load einfügen und alles funktioniert :)

    LG *Erledigt*
    Nu muss ich den Thread hier leider nochmal aufwirbeln...

    Der Texteditor ist nun komplett fertig, nun möchte ich eine *.txt immer damit öffnen.
    Also los:

    Rechte Maustaste, Öffnen mit..., Standartprogramm wählen.
    Dann wähle ich die exe meines Editors.
    Doch Windows nimmt die exe nicht an ?!

    Was muss ich nun tun, bzw. gibt es dafür Codes ?
    Sagen wa es aml anders :)

    Ich kann mehr als genug, um einen umfangreichen Texteditor usw. zu prgrammieren,
    habe jedoch nicht die nötige Erfahrung um das Tutorial umzusetzen.
    Grundlagen beherrsche ich also fast alle.
    Das mit Anfänger war ein Vergleich mit euch :D
    wenn du des tut nicht kapierst, dann fehlt wohl noch ws bei deinen grundlagen...
    so schwer is des nicht.

    edit:
    Ok, dieses eine mal mach ich ein vollständiges beispiel.
    lad es dir runter und schau den code (wirklich genau) an

    es funktioniert so:
    starten, auf den button klicken und beende des programm wieder.
    dann auf die datei namens datei.test klicken und schon wird der inhalt davon in die textbox geschrieben :thumbsup:


    und dann schreibst du hier bitte, was daran so schwer war
    Dateien
    :P Mfg Aligator :P

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „aligator“ ()

    Scheinbar bin ich wirklich zu doof dafür ?!
    Ich habe deine Datei als erstes ausprobiert, funktionierte einwandfrei mit der *.test-datei.
    Dann habe ich deine datei editiert und den letzten Code in diesen hier

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. 'hier wird die datei registriert.
    3. If Registerfile(".txt", "Textdatei", Application.StartupPath & "C:\Users\User\Desktop\Writer.exe", Application.StartupPath & "\boy-1.ico") Then
    4. MessageBox.Show("Die Dateiendung *.txt wurde erfolgreich registiert.", "Info")
    5. Else
    6. MessageBox.Show("Die Dateiendung konnte nicht registriert werden.")
    7. End If
    8. End Sub


    geändert.

    Nachdem ich die Datei dann gespeichert habe und Sie starte erscheint die Meldung:
    "Die Dateiendung konnte nicht registriert werden."

    Hoffe du verstehst mich :)

    LG
    Ich habe das ganze nun auf diesen:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. 'hier wird die datei registriert.
    3. If Registerfile(".txt", "Textdatei", Application.StartupPath & "C:\Users\User\Desktop\Ordner\Writer.exe", Application.StartupPath & "C:\Users\User\Desktop\Ordner\boy-1.ico") Then
    4. MessageBox.Show("Die Dateiendung *.txt wurde erfolgreich registiert.", "Info")
    5. Else
    6. MessageBox.Show("Die Dateiendung konnte nicht registriert werden.")
    7. End If
    8. End Sub


    Code geändert.
    Nichts funktioniert (bzw. Es funktioniert alles ausser dem registrieren :P)

    Aber schonmal vielen dank dafür das du versuchst mir zu helfen :)

    LG
    Hmm, wenn mich mein müdes Hirn nicht täuscht, hast du ein Problem mit den Pfaden. Application.StartupPath() mit einem anderen absoluten Pfad zu verknüpfen, ergibt in meinen Augen keinen Sinnn... Dann kommt ein Pfad wie "C:\Irgenswas\C:\Users\..." heraus. Ich vermute mal, du meinst

    VB.NET-Quellcode

    1. Application.StartupPath & "\\Writer.exe"
    (wenn du die Endung aus deinem Writer-Programm heraus registrierst. Ansonsten musst du wohl oder übel den absoluten Pfad deines Writers angeben).

    MfG
    Was meinst du mit Absoluter Pfad ?
    Den Weg über C:\Users\ ?

    Jedenfalls versuche ich die *.txt aus aligators Programm heraus für meinen Writer zu registrieren.
    Hoffe ma das ich da nix falsch gemacht habe ;)

    LG

    *edit:

    Ohne Try-Ctch:

    Unbehandelte Ausnahme in der anwendung.
    Der Zugriff auf HKEY_CLASSES_ROOT\.txt wurde verweigert.