我想在桌面上創建.exe文件的.lnk快捷方式,但無法以管理員身份運行我的程序。如何在C#中創建沒有管理員權限的快捷方式?
使用Windows Script Host Object
對我不起作用,因爲我得到了Task could not find 「AxImp.exe」
錯誤。這個問題可以通過安裝Windows SDK來解決,但是也需要安裝管理員權限。
在C#中創建沒有管理員權限(無論第三方還是內置無關緊要)的.lnk快捷方式有沒有辦法?
我想在桌面上創建.exe文件的.lnk快捷方式,但無法以管理員身份運行我的程序。如何在C#中創建沒有管理員權限的快捷方式?
使用Windows Script Host Object
對我不起作用,因爲我得到了Task could not find 「AxImp.exe」
錯誤。這個問題可以通過安裝Windows SDK來解決,但是也需要安裝管理員權限。
在C#中創建沒有管理員權限(無論第三方還是內置無關緊要)的.lnk快捷方式有沒有辦法?
如果你想在當前用戶的桌面創建快捷方式,並有UAC問題和cant't以管理員身份運行,您可以在項目中創建一個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
運行script.vbs:
private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start(System.IO.Path.Combine(Application.StartupPath, "script.vbs"));
}
您只能在桌面上爲自己創建快捷方式(即程序正在您的帳戶下運行,並且正在嘗試訪問您的桌面)。如果你想訪問其他人的桌面,你需要管理員權限。這就是Windows的工作方式,無論您使用C#還是其他語言。
不太我所期待的,但很有趣,它的作品!謝謝! :) – LPrc