如果当前用户拥有UNC路径的权限,则此方法有效。打开它。
Process.Start("\\USERSHARE\VALUE\EMPLOYEES\")
但是,由于代码中的SQL权限,我必须以无法访问UNC路径的用户身份运行整个程序。
我在应用程序中创建了一个按钮,它将在资源管理器窗口中打开UNC路径,但我无法弄清楚如何强制运行runas。
我也尝试了以下内容:
Dim procStartInfo As New ProcessStartInfo
Dim procExecuting As New Process
With procStartInfo
.UseShellExecute = True
.FileName = "Notepad.exe"
.WindowStyle = ProcessWindowStyle.Normal
.Verb = "runas" 'add this to prompt for elevation
End With
procExecuting = Process.Start(procStartInfo)
此操作并提示UAC打开“记事本”。
这不能打开UNC路径:
Dim procStartInfo As New ProcessStartInfo
With procStartInfo
.UseShellExecute = True
.FileName = "\\USERSHARE\VALUE\EMPLOYEES\"
.WindowStyle = ProcessWindowStyle.Normal
.Verb = "runas" 'add this to prompt for elevation
End With
Process.Start(procStartInfo)
我知道打开fileshare与将.FileName指向可执行文件不同。
在尝试打开远程文件夹之前,我在尝试为UAC提示应用程序时遇到问题。
答案 0 :(得分:2)
您不想执行文件夹本身,而是explorer.exe
以文件夹作为参数:
Dim procStartInfo As New ProcessStartInfo
With procStartInfo
.UseShellExecute = True
.FileName = "explorer.exe"
.Arguments = "\\USERSHARE\VALUE\EMPLOYEES\"
.WindowStyle = ProcessWindowStyle.Normal
.Verb = "runas" 'add this to prompt for elevation
End With
Process.Start(procStartInfo)