问问题
1347 次
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 回答