this answer解释了如何在C#中创建快捷方式。 例如,
using System;
using IWshRuntimeLibrary;
using System.IO;
namespace TestCreateShortcut
{
class Program
{
static void Main(string[] args)
{
WshShell shell = new WshShell();
string desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
string source = "C:\\foo\\hello.exe";
string dest = desktop + "\\hello.lnk";
IWshRuntimeLibrary.IWshShortcut shortcut =
(IWshRuntimeLibrary.IWshShortcut)shell.CreateShortcut(dest);
shortcut.TargetPath = source;
shortcut.WorkingDirectory = new FileInfo(source).Directory.Name;
shortcut.Save();
}
}
}
问题是,作为管理员用户,我想在另一个用户的桌面上创建此快捷方式。我可以将桌面字符串更改为他们的桌面路径而不是我的,但是我想在调用代码来创建桌面快捷方式之前就已经创建了这个用户,所以没有C:\ Users \ TheUser文件夹呢!
有哪些方法可以缓解这种情况,或者可以在新创建的用户桌面上设置快捷方式? 我最好在用户第一次实际登录之前这样做。谢谢。