如何在c#中创建一个没有管理员权限的快捷方式

本文关键字:一个 管理员 权限 快捷方式 创建 | 更新日期: 2023-09-27 18:14:29

我想在桌面上创建一个。link快捷方式到。exe文件,但是我不能以admin身份运行我的程序。

使用Windows Script Host Object不适合我,因为我得到Task could not find “AxImp.exe”错误。这个问题可以通过安装Windows SDK来解决,但也需要安装管理员权限。

是否有一种方法在c#中创建一个没有管理员权限的。link快捷方式(无论是第三方还是内置并不重要)?

如何在c#中创建一个没有管理员权限的快捷方式

如果您想在当前用户的桌面中创建快捷方式,并且存在UAC问题并且无法以管理员运行,您可以创建脚本。

在您的项目中设置VBS,并将其设置为copy,然后在需要时运行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

运行script.vbs:

private void button1_Click(object sender, EventArgs e)
{
    System.Diagnostics.Process.Start(System.IO.Path.Combine(Application.StartupPath, "script.vbs"));
}

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

相关文章: