VB2010:以编程方式在桌面上创建以管理员身份运行的快捷方式

时间:2015-06-19 16:47:56

标签: vb.net visual-studio-2010

我使用以下方式在用户桌面上创建快捷方式。我还希望他们以管理员身份运行。我在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

1 个答案:

答案 0 :(得分:1)

我认为你正在寻找' runas'命令。您可以说目标程序的命令行参数是:

runas /savecred /user:administrator "yourprogrampathhere.exe"

只需确保名为' administrator'的用户确实存在。顺便说一下,快捷方式的“属性”窗口中有一个标志,我只是不知道如何使用WShell方式,但是这个解决方案可能有效。 这条线需要改变:

 MyShortcut.TargetPath = WSH.ExpandEnvironmentStrings("runas /savecred /user:administrator """ & NewDir & "\Application.exe""")

如果您想知道为什么我会引用太多的引号,请不要担心。他们习惯于逃避初始引号。祝你有美好的一天,我希望你的计划能够奏效!

编辑:使用此功能将提示您输入管理员密码。您必须拥有其中一个,因为不允许使用空密码。密码将被保存,并且在下次系统重启之前不会再次提示。