Получение стартового ярлыка в c #

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

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)

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

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

Решение Вопроса

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

 Flores25 мар. 2010 г., 09:48
Просто, но это породило идею. Спасибо

Ваш ответ на вопрос