我正在编写一个.NET窗口应用程序,我想在其中运行" explorer.exe"打开一个文件。基本上,我有这个程序,它显示用户文件(在网格中),该文件位于他们无权访问的网络上的文件夹中。所以基本上我希望他们能够查看某些文件(如Doc(x),PDF,JPG等)。当他们点击网格中的文件时,我希望它为所选文件的扩展启动相应的应用程序。当我使用它时,它正在使用:
Process.Start("explorer.exe", @"\\myserver\folder\test.pdf");
但是,这些文件位于实际用户无权访问的位置。我尝试用以下内容包装它:
using (new Impersonator("username", "domain", "password"))
{
}
但我收到了错误:
未处理的类型' System.ComponentModel.Win32Exception'发生在System.dll
中其他信息:未知错误(0xfffffffe)
我甚至尝试使用ProcessStartInfo并在那里设置用户名,密码和域名,但不断获取:
目录名无效。
所以关于如何启动文件(例如Doc(x),PDF,JPG等)的任何想法,并给予有权访问网络上该文件夹的用户的凭据?