2013-07-02 3 views
0

Я хотел бы найти папку ярлыка, который открывает мою программу.C# Узнайте, какой ярлык нажал

У меня есть программа, которая устанавливается в папке с программными файлами и создает папку на диске c ярлыком и связью других файлов. Моя программа проверяет наличие этих файлов. Если кто-то решает изменить имя папки или переместить ее где-то еще, чем не может найти файлы.

Я пробовал Environment.CurrentDirectory, но это дает директорию exe не ярлык, который был нажат.

Я знаю, что существует множество способов, которыми я мог бы сделать это по-другому/лучше, но есть ли способ найти путь к ярлыку, который был нажат, чтобы открыть эту программу?

+1

Сделать все ярлыки переданными параметрами с помощью пути к папке? –

+0

исследуйте программу установки, чтобы узнать, как вы можете изменить созданные параметры ярлыков и для каждого указать определенное значение. Таким образом, внутри программы будет возможность понять, какой ярлык был нажат, на основе параметра. – Tigran

+0

Мне не нужно знать, какой ярлык щелкнут, но в какой папке находится ярлык. Windows должна отслеживать, какой ярлык был нажат. Итак, как мне найти эту информацию. (Предполагая, что он существует) –

ответ

0

Вы не можете получить эту информацию так, как вы просите. .exe знает только свое местоположение и вещи относительно него. Он не знает, как он был запущен только в том случае, если он был запущен.

Единственное возможное предложение, которое я мог бы дать, было бы для вас добавить параметры командной строки с информацией и убедиться, что они находятся в цель вашего ярлыка, но я не думаю, что это то, о чем вы просите.

Смежные вопросы