我在 VS2010 中有一个使用 VB.NET 和 .NET 3.5 的 Windows 应用程序。它无形且非常简单,假设它是一个字符串,它将“启动”剪贴板的内容。请注意,这不是 ASP.NET,与 Web 应用程序无关。
这是代码的核心:
Dim proc As New Process()
proc.StartInfo.FileName = strClipboard
proc.StartInfo.UseShellExecute = True
proc.StartInfo.CreateNoWindow = True
proc.Start()
多年来,它一直运行良好。如果用户有一个文件路径,比如说“c:\temp\file.txt”作为字符串保存在系统剪贴板中,他们可以运行这个应用程序(通常是通过将其分配给鼠标按钮),就像去开始>运行,粘贴文本,然后按 Enter。
最近,我们的系统发生了一些变化。不确定是什么,但我怀疑它与我们所有的新服务器配置更改和/或组策略有关,因为现在它不适用于任何映射的驱动器。
例如,这很好用:
C:\Temp\test.txt
但不是这个:
L:\Temp\test.txt
L 是我们本地文件服务器上的映射驱动器。我从异常中得到的错误只是它找不到文件:
System.ComponentModel.Win32Exception was caught
ErrorCode=-2147467259
Message=The system cannot find the path specified
NativeErrorCode=3
Source=System
StackTrace:
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at VS10_Launch_Clipboard.Launch_Clipboard.Main() in C:\Users\user\Documents\Visual Studio 2010\Projects\VS10_Launch_Clipboard\VS10_Launch_Clipboard\Module1.vb:line 21
InnerException:
有任何想法吗?
谢谢
厄尼