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")
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")
VB.Net DllImport
für AssocQueryString()
. 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 ( AssocStr
) Sie wollen.
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 Rundll32.exe
gestartet wird.
In diesem Fall kann die Verwendung von AssocStr.Executable
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 .jpg
oder .png
zurückgegeben werden:
C: \ Programme (x86) \ Windows Photo Viewer \ PhotoViewer.dll
Verwenden Sie in diesem Fall AssocStr.Command
als Parameter, um die zugehörige Befehlszeile abzurufen, die dann an System.Diagnostics.Process.Start()
ü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 %1
für den Namen der zu öffnenden Datei.
Tags und Links vb.net file registry execute system.diagnostics