Получение стартового ярлыка в 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)

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