none
Datei mit Endung .xyz als .exe starten? RRS feed

  • Frage

  • Hallo,

    ist es möglich eine Datei, welche die Endung ".xyz" als eine ".exe" zustarten?

    Zur Zeit benutze ich

    Process.Start("D:\test.xyz")
    

     

    Ich hoffe ihr könnt mir weiterhelfen.

     

    Grüße

     

    Sonntag, 8. Januar 2012 13:20

Antworten

  • Hi,

    Dim StartInfo As New ProcessStartInfo()
        StartInfo.FileName        = "X:\Ordner\Test.xyz"
        StartInfo.UseShellExecute = False
        Process.Start( StartInfo )
    

    Den Unterschied macht dabei UseShellExecute = False. Ohne diese Angabe wird versucht, die Anwendung zur Dateiendung "xyz" zu finden und da es die nicht gibt, wird ein Dialog geöffnet, mit dem man die Anwendung dazu auswählen kann.

    Edit: Menno :) Ich hab Thorstens Posting wohl irgendwie übersehen, sorry.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Sonntag, 8. Januar 2012 13:40
    Moderator

Alle Antworten

  • Hallo,

    standardmäßig verwendet Process.Start ShellExecute, um Dateien auszuführen. Dadurch werden alle Dateien, die dem System nicht als ausführbar bekannt sind, mit der zugeordneten Standardanwendung geöffnet bzw. es erscheint der Dialog zur Auswahl eine Anwendung, mit der die Datei geöffnet werden soll. Es gibt die Option, nicht ShellExecute zu verwenden, sondern ganz normal CreateProcess. CreateProcess ist es egal, wie die Datei heißt, solange sie einen Inhalt hat, der ausführbar ist. Diese Option kannst Du über die ProcessStartInfo Struktur festlegen:

       Dim start As New ProcessStartInfo("file.bin")
       start.UseShellExecute = False
    
       Process.Start(start)
    


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    Sonntag, 8. Januar 2012 13:33
  • Hi,

    Dim StartInfo As New ProcessStartInfo()
        StartInfo.FileName        = "X:\Ordner\Test.xyz"
        StartInfo.UseShellExecute = False
        Process.Start( StartInfo )
    

    Den Unterschied macht dabei UseShellExecute = False. Ohne diese Angabe wird versucht, die Anwendung zur Dateiendung "xyz" zu finden und da es die nicht gibt, wird ein Dialog geöffnet, mit dem man die Anwendung dazu auswählen kann.

    Edit: Menno :) Ich hab Thorstens Posting wohl irgendwie übersehen, sorry.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Sonntag, 8. Januar 2012 13:40
    Moderator
  • hi,

    ich danke euch, es funktioniert!

    vielen dank!

    Sonntag, 8. Januar 2012 13:45