你如何从VB.NET运行另一个.exe但作为另一个用户?
我希望推出一个.exe,例如“左键单击 – >运行方式 – >输入用户/通行证 – >单击确定”
如果我这样做,我的应用程序按预期运行(我需要以另一个用户身份运行它以访问网络中的某些文件夹)
但是如果我在VB.NET中使用它
System.Diagnostics.Process.Start(System.Windows.Forms.Application.ExecutablePath,ParaMETER,USER,PASSWORD,DOMAIN)
应用程序与其他用户一起运行..但Excel(在我的App with Interop中)无法打开受限文件夹中的文件.
(我再次运行相同的应用程序,但使用不同的用户,只是为了避免创建更多的.exe文件…但我已经尝试过使用vbScript)
再次,Process.Start FAILS使用其他用户打开excel …但是左键单击 – >在那成功运行…为什么?其他方式??
这就是应用程序的作用:
>打开应用程序
>检查是否有参数
>如果没有参数,则重新启动应用程序与其他用户并发送一些参数
>如果有参数open excel
>打开一个xlsx文件
但如果我双击… Excel打开…使用50%的cpu,并给我一个错误,它无法打开文件…
如果我直接用所需的用户运行它并传递…一切正常
有任何建议如何解决这个问题? (模仿工作正常..但它与实际用户打开Excel ..而不是具有权限的人)
谢谢!
解决方法
这真的很有趣.默认情况下,我相信Excel COM组件设置为以
Interactive User运行(即用户登录到框中).如果它们是0700作为
Launching User那么假冒应该起作用.当然,这并不能解释为什么“Run As …”有效(我不知道它的机制,所以也许不是模仿).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。