Второй ответ Стивена Пенни, приведенный выше, хорошо сработал для меня.Вот еще пара трюков:
Это делает COM через PowerShell, так что вы можете сделать то же самое практически с любым COM-клиентом.Например, вот версия AutoHotkey.
Shell := ComObjCreate("Shell.Application")
Target := Shell.Namespace(EnvGet("WinDir")).ParseName("Notepad.exe")
Target.InvokeVerb("startpin")
VBScript или InnoSetup выглядели бы почти одинаково, за исключением функции, используемой для создания объекта.
Я также обнаружил, что у меня есть одна программа, которая закрепила OK, но не имелаправильный значок и / или описание из-за ограничений в компиляторе.Я только что создал небольшое однострочное приложение WinForms, которое запускает цель с Process.Start, а затем добавил соответствующий значок и нужное имя в меню «Пуск» в свойстве «Заголовок» в AppInfo.cs.