【发布时间】:2011-03-19 05:27:01
【问题描述】:
您如何以另一个用户身份从 VB.NET 运行另一个 .exe?
我希望启动一个 .exe,例如“左键单击 -> 运行方式 -> 输入用户/密码 -> 单击确定” 如果这样做,我的应用程序将按预期运行(我需要以其他用户身份运行它才能访问网络中的某些文件夹)
但是如果我在 VB.NET 中使用它
System.Diagnostics.Process.Start(System.Windows.Forms.Application.ExecutablePath, PARAMETER, USER, PASSWORD, DOMAIN)
应用程序与其他用户一起运行。但 Excel(在我的带有 Interop 的应用程序中)无法打开受限文件夹中的文件。
(我再次使用不同的用户运行相同的应用程序,只是为了避免创建更多的 .exe 文件......但我已经尝试使用 vbScript)
再次,Process.Start 无法使用其他用户打开 excel...但是左键单击 -> 运行成功...为什么?另一种方式??
这是应用程序的作用:
- 打开应用程序
- 检查是否有参数
- 如果没有参数,则与其他用户重新启动应用程序并发送一些参数
- 如果有参数打开excel
- 打开一个xlsx文件
但是如果我双击... Excel 打开... 使用 50% CPU,并给我一个无法打开文件的错误...
如果我直接使用所需的用户运行它并通过...一切正常 关于如何解决这个问题的任何建议? (模拟工作正常..但它与实际用户一起打开 Excel.. 不是有权限的人)
谢谢!
【问题讨论】:
标签: vb.net excel interop impersonation