【发布时间】:2011-06-24 01:50:35
【问题描述】:
如何以其他用户身份打开文档?
文档类型未知(可能是 pdf、.xls、.doc、图像等)。 文档在网络共享上,用户名、域和密码都是已知的。
我已经彻底研究了这个问题,我不相信这个问题已经在这里得到了回答。请证明我错了。
这个问题很接近 Open a shared file under another user and domain?
但不幸的是,它将文件打开到文件流,我需要在其关联的应用程序中打开文件。
【问题讨论】:
-
你的意思是你想从你的程序中打开它?否则标签是干什么用的?
-
您好 Karl - 我希望我的 winforms 应用程序允许用户使用 openfiledialog 选择一个文档,然后打开该文件。但是,该文件将位于网络共享上。我可以使用模拟显示 openfiledialog。但是一旦用户选择了文件,我就不确定如何打开它,因为启动过程不会在模拟帐户下运行。
-
@Reafidy:您的 WinForms 应用程序是用 C# 编写的吗?为什么要标记这个问题
c++? -
@ildjarn 我认为具有 C++ 经验的人可能能够提供解决方案。如果您对此有异议,我很乐意将其删除。
-
@Reafidy :问题是我不能只使用 C++ 发布答案并且在这里可以接受,因为 C# 和 C++ 有非常不同的习语。对于 C++,您将使用
LogonUserEx+ShellExecuteEx(我可以告诉您——为LogonUserEx编写 P/Invoke 代码并不好玩)而对于 C#,您将使用WindowsIdentity.Impersonate+Process.Start(使用 @ 987654328@)。在这种特殊情况下,我真的认为c++标签不合适。