Есть ли способ для программы Windows узнать, какой ярлык (например, файл .lnk), если таковой имеется, был вызван, чтобы он мог подобрать значок ярлыка?
Поиск ярлыка, с которого была вызвана программа Windows
Ответы (2)
Вы можете позвонить GetStartupInfo()
, чтобы заполнить STARTUPINFO
. Если установлен флаг STARTF_TITLEISLINKNAME
, поле STARTUPINFO::lpTitle
содержит путь к файлу .lnk
.
(Это было недокументировано в течение длительного времени. Вероятно, оно работало вплоть до Win95) .
person
Anders
schedule
26.07.2011
О, я просмотрел документацию STARTUPINFO, но пропустил это. Спасибо большое!
- person ak2; 26.07.2011
В C# это правильно работает с использованием P/Invoke, однако мне было интересно, есть ли другой способ получить значение lpTitle без вызова собственного метода GetStartupInfo. Что-то вроде свойства приложения или среды?
- person Alex Vang; 02.03.2012
См. эту тему http://social.msdn.microsoft.com/Forums/en-IE/csharplanguage/thread/31cc117e-7726-475c-b9e4-b8041409ce85
Я думаю, что параметры строки cmd - единственный способ.
person
mservidio
schedule
26.07.2011