VB.Net %code% für %code% . Siehe MSDN AssocQueryString-Funktion
Und seine Aufzählungen: siehe MSDN ASSOCF-Aufzählung , ASSOCSTR-Enumeration
%Vor%Dies ist eine mögliche Implementierung:
%Vor%Um das Ergebnis zu erhalten, rufen Sie einfach die Hilfsfunktion auf und fragen, welche Art von Informationen oder Assoziation ( %code% ) Sie wollen.
%Vor%Also, zum Beispiel nennst du es so:
%Vor%Für mich ist das Ergebnis:
C: \ Programme \ Microsoft Office \ Office16 \ WINWORD.EXE
Nicht alle Erweiterungen haben eine ausführbare Verknüpfung. Einige Dateierweiterungen können einem System-Applet / Tool zugeordnet werden, das von %code% gestartet wird.
In diesem Fall kann die Verwendung von %code% als Parameter möglicherweise kein brauchbares Ergebnis liefern.
Wenn beispielsweise keine Bildbearbeitungssoftware installiert ist, kann die Abfrage der ausführbaren Datei für die Erweiterungen %code% oder %code% zurückgegeben werden:
C: \ Programme (x86) \ Windows Photo Viewer \ PhotoViewer.dll
Verwenden Sie in diesem Fall %code% als Parameter, um die zugehörige Befehlszeile abzurufen, die dann an %code% übergeben werden kann. Im selben Fall wäre das Ergebnis:
C: \ Windows \ System32 \ rundll32.exe "C: \ Programme (x86) \ Windows Photo Viewer \ PhotoViewer.dll ", ImageView_Fullscreen% 1
Dabei steht %code% für den Namen der zu öffnenden Datei.
Wir wissen bereits, wie System.Diagnostics.Process.Start ("C: \ filename.png") funktioniert, aber was passiert, wenn der Dateiname nicht mit einer Erweiterung endet? Wie kann ich den Dateinamen ohne Erweiterung im Dateinamen mit dem Standardprogramm ausführen, das mit der PNG-Erweiterung verknüpft ist? Etwas wie: openFile ("C: \ Dateiname", "PNG")