0
4

2 回答 2

2

如果您想在当前用户的桌面创建快捷方式,并且遇到UAC 问题并且无法以管理员身份运行,您可以在您的项目中创建一个 script.vbs 并将其设置为复制到输出目录中,然后在需要时运行 vbs。

script.vbs 的内容:

Dim WshShell
Set WshShell = CreateObject("Wscript.shell")
Dim strDesktop 
strDesktop= WshShell.SpecialFolders("Desktop")
Dim oMyShortcut
Set oMyShortcut = WshShell.CreateShortcut(strDesktop + "\Shortcut to Notepad.lnk")
OMyShortcut.TargetPath = "notepad.exe"
oMyShortCut.Save
Set WshShell= Nothing
Set oMyShortcut= Nothing

运行脚本.vbs:

private void button1_Click(object sender, EventArgs e)
{
    System.Diagnostics.Process.Start(System.IO.Path.Combine(Application.StartupPath, "script.vbs"));
}
于 2015-09-25T14:57:54.980 回答
2

您只能在桌面上为自己创建一个快捷方式(即程序在您的帐户下运行并且它正在尝试访问您的桌面)。如果您想访问其他人的桌面,则需要管理员权限。这就是 Windows 的工作方式,无论您使用 C# 还是任何其他语言。

于 2015-09-25T14:52:57.763 回答