tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
732
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Tikonteroga Tikonteroga ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    153
    Hallo,

    ich erzeuge in einer .NET Anwendung eine Textdatei mit einer bestimmten Dateiendung und einem bestimmten Format.

    Nachdem ich die Datei im Dateisystem erzeugt habe, würde ich sie gerne aus meiner .NET Anwendung herus mit der Anwedung öffnen, die für das Öffnen von Dateien mit dieser Dateiendung zuständig ist.

    Falls es keine Anwendung gibt, die für das Öffnen von Dateien mit dieser bestimmten Dateiendung zuständig ist, möchte ich die Datei mit Word Pad öffnen.

    Wie kann ich das in .NET realisieren ?
     

  2. #2
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Hi.

    Das Starten der Datei mit dem damit verknüpften Programm ansich wäre einfach. Dazu brauchst du einfach nur bei Process.Start den Pfad zur Datei angeben.

    Wenn du aber vorher sehen willst ob überhaupt ein Programm zugewiesen ist, kannst du das folgende Snippet benutzen.
    Es schaut in der Registry nach ob die Endung eingetragen ist, und gibt wenn etwas gefunden wurde den Pfad zum Programm zurück. Wenn nichts gefunden wurde, wird ein leerer String zurückgegeben.

    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    
    public static string GetAssociatedProgram(string FileExtension)
    {
        // Returns the application associated with the specified
        // FileExtension
        // ie, path\denenv.exe for "VB" files
        Microsoft.Win32.RegistryKey objExtReg = Microsoft.Win32.Registry.ClassesRoot;
        Microsoft.Win32.RegistryKey objAppReg = Microsoft.Win32.Registry.ClassesRoot;
        string strExtValue = null;
        try
        {
            // Add trailing period if doesn't exist
            if (FileExtension[0] != '.')
                FileExtension = "." + FileExtension;
     
            // Open registry areas containing launching app details
            objExtReg = objExtReg.OpenSubKey(FileExtension.Trim());
            strExtValue = objExtReg.GetValue(null) as string;
            objAppReg = objAppReg.OpenSubKey(strExtValue + "\\shell\\open\\command");
            // Parse out, tidy up and return result
            string[] SplitArray = (objAppReg.GetValue(null) as string).Split('"');
     
            if (SplitArray[0].Trim().Length > 0)
            {
                return SplitArray[0].Replace("%1", "");
            }
            else
            {
                return SplitArray[1].Replace("%1", "");
            }
        }
        catch
        {
            return string.Empty;
        }
    }

    (Der Code stammt von Which Program Handles that File Extension? und wurde nach C# konvertiert..)

    lg,..
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

Ähnliche Themen

  1. Textdatei öffnen
    Von ganjin im Forum Visual Basic 6.0
    Antworten: 7
    Letzter Beitrag: 24.06.08, 19:16
  2. Anwendung öffnen
    Von sadi im Forum HTML & XHTML
    Antworten: 7
    Letzter Beitrag: 03.03.08, 14:24
  3. Textdatei öffnen
    Von Christopher1991 im Forum Delphi, Kylix, Pascal
    Antworten: 2
    Letzter Beitrag: 01.08.05, 10:43
  4. Anwendung öffnen
    Von Deunan im Forum HTML & XHTML
    Antworten: 18
    Letzter Beitrag: 05.07.03, 14:21
  5. C#: Textdatei öffnen
    Von MSuter im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 02.09.02, 22:06