我使用以下方式在用户桌面上创建快捷方式。我还希望他们以管理员身份运行。我在StackOverflow中找到this但是......我想以编程方式执行相同的操作,而不是手工操作。
这是我的代码:
Private Sub CreateShortcuts()
Dim NewDir = AppFolder.Text
Dim WSH As Object = CreateObject("WScript.Shell")
WSH = CreateObject("WScript.Shell")
Dim MyShortcut, DesktopPath
DesktopPath = WSH.SpecialFolders("Desktop")
MyShortcut = WSH.CreateShortcut(DesktopPath & "\Application Controller.lnk")
MyShortcut.TargetPath = WSH.ExpandEnvironmentStrings(NewDir & "\Application.exe")
MyShortcut.WorkingDirectory = WSH.ExpandEnvironmentStrings(NewDir)
MyShortcut.WindowStyle = 1
MyShortcut.IconLocation = NewDir & "\Application.exe"
MyShortcut.Save()
End Sub
答案 0 :(得分:1)
我认为你正在寻找' runas'命令。您可以说目标程序的命令行参数是:
runas /savecred /user:administrator "yourprogrampathhere.exe"
只需确保名为' administrator'的用户确实存在。顺便说一下,快捷方式的“属性”窗口中有一个标志,我只是不知道如何使用WShell方式,但是这个解决方案可能有效。 这条线需要改变:
MyShortcut.TargetPath = WSH.ExpandEnvironmentStrings("runas /savecred /user:administrator """ & NewDir & "\Application.exe""")
如果您想知道为什么我会引用太多的引号,请不要担心。他们习惯于逃避初始引号。祝你有美好的一天,我希望你的计划能够奏效!
编辑:使用此功能将提示您输入管理员密码。您必须拥有其中一个,因为不允许使用空密码。密码将被保存,并且在下次系统重启之前不会再次提示。