加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

你如何从VB.NET运行另一个.exe作为另一个用户?

发布时间:2020-12-17 07:27:23 所属栏目:百科 来源:网络整理
导读:你如何从VB.NET运行另一个.exe但作为另一个用户? 我希望推出一个.exe,例如“左键单击 – 运行方式 – 输入用户/通行证 – 单击确定” 如果我这样做,我的应用程序按预期运行(我需要以另一个用户身份运行它以访问网络中的某些文件夹) 但是如果我在VB.NET中使
你如何从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 …”有效(我不知道它的机制,所以也许不是模仿).

一个想法是重新构建应用程序以将文件复制到Excel可以访问,操作它们然后复制后面的位置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读