Вопрос по shortcuts, c#, shortcut – Получение стартового ярлыка в c #

3

Допустим, у меня есть исполняемый файл, и когда он запускается, я хочу знать, как он запускается. То есть Я хотел бы знать, запускается ли он с помощью ярлыка или напрямую. С этим:

string test = Environment.GetCommandLineArgs()[0];

Я могу получить путь к исполняемому файлу, но он всегда один и тот же, даже если он запускается с помощью ярлыка.

Допустим, мой исполняемый файл называется c: \ text.exe, и я запускаю его напрямую, затем test = 'c: \ test.exe' Если я создаю ярлык, например, c: \ shortcut.lnk (с целевым c: \ test.exe ) Я хочу, чтобы test был 'c: \ shortcut.exe', но это 'c: \ test.exe'

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

Ваш Ответ

2   ответа
1

Ваши подозрения верны, операционная система скрывает механику от вас.

Можнополучить процесс, который начал вас, тем не мение. это не поможет вам отличить, были ли вы запущены по ссылке в меню «Пуск», по сравнению с двойным щелчком в окне проводника.

2

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

Просто, но это породило идею. Спасибо Flores

Похожие вопросы