Wie man ein shortcut

Ich Frage mich, was der "offizielle" Weg ist laufen eine Verknüpfung aus, die innerhalb einer anderen Anwendung.

Wie diese:

string program = "application.exe";
Process.Start(program);

Das wird nicht funktionieren, wenn application.exe ist eine Verknüpfung.

Der Grund dafür ist natürlich, dass der tatsächliche Dateiname der Anwendung ist appication.exe.lnk. Jetzt den Windows-Explorer nicht angezeigt, die .lnk Teil (selbst wenn Sie "Hide Erweiterungen bei bekannten Dateitypen" deaktiviert ist), während Sie zeigen, nicht, wenn Sie dir in einer DOS-box.

So, was ich kam mit war das

string program = "application.exe";
if (!File.Exists(program)) program += ".lnk";
Process.Start(program);

aber ich Frage mich immer, ob es einen besseren Weg. Das klingt... lückenhaft. Aber meine Recherchen haben gehen leer aus. Nichts, aber Erklärungen, wie man Verknüpfungen erstellen und so Zeug.

  • Ich denke, dass die Logik hier ist in Ordnung. Wenn du nicht zufrieden bist mit der Umsetzung nicht warum Sie Abstrakt und es? Es ist wahrscheinlich, dass Sie möchten, um zu überprüfen, dass die Datei existiert bevor Sie das tun, nichts mit ihm sowieso, also warum nicht erstellen Sie eine statische Funktion Shortcut.Exists("application.exe");.
  • Ich kann wirklich nicht verstehen, was Sie erreichen wollen.. wenn Sie wissen, dass Sie anrufen möchten, ein link > rufen Sie einfach den link, wenn Sie möchten, eine Anwendung aufrufen > rufen Sie die Anwendung, wenn Sie wollen, zu nennen, d.h. jede Anwendung/Anwendung-Verknüpfung in einem Verzeichnis, das Sie gar nicht haben ein problem, weil Sie wissen, die richtigen Dateinamen beim Durchlaufen der Dateien.
  • Mein problem ist, dass laut Microsoft selbst, ist es nicht eigentlich sein, dass viel Unterschied zwischen einer Verknüpfung und einer realen Anwendung. Aus UI-Sicht, können Sie Sie behandeln beide in der gleichen Weise ausgeführt werden, ohne mich, wenn es eine Verknüpfung auf allen etc. Also dachte ich, es wäre kein Unterschied zwischen dem ausführen application.exe eine Verknüpfung zu application.exe, vor allem, da Microsoft tut sein bestes, um zu verbergen, die zusätzliche Erweiterung.
InformationsquelleAutor Mr Lister | 2013-06-07
Schreibe einen Kommentar