K
K
Kir Mozor2021-11-20 12:26:58
Windows
Kir Mozor, 2021-11-20 12:26:58

How to make a shortcut in C#?

I can't seem to create a shortcut. I tried a bunch of PowerShell and C #, but everywhere there are articles with the outdated System.Management.Automation.dll, which is not in NuGet. Tried via WSH, but also nothing, error:

error CS0246: Не удалось найти тип или имя пространства имен "WshShell" (возможно, отсутствует директива using или ссылка на сборку).
error CS0246: Не удалось найти тип или имя пространства имен "WshShell" (возможно, отсутствует директива using или ссылка на сборку).
error CS0246: Не удалось найти тип или имя пространства имен "IWshShortcut" (возможно, отсутствует директива using или ссылка на сборку).
error CS0246: Не удалось найти тип или имя пространства имен "IWshShortcut" (возможно, отсутствует директива using или ссылка на сборку).

My code was like this:

using IWshRuntimeLibrary;

namespace HelloApp
{
    class Program1
    {
        public static void Create(string ShortcutPath, string TargetPath)
        {
            WshShell wshShell = new WshShell(); //создаем объект wsh shell

            IWshShortcut Shortcut = (IWshShortcut)wshShell.
                CreateShortcut(ShortcutPath);

            Shortcut.TargetPath = TargetPath; //путь к целевому файлу

            Shortcut.Save();
        }

        static void Main()
        {
            Create(@"C:\test.lnk", @"C:\Windows\notepad.exe");
        }
    }
}

What am I doing wrong?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
K
kisaa, 2021-11-20
@150_Kirill_150

It also writes to you in the error message: reference to the assembly
https://stackoverflow.com/a/4909475 was not added

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question