当我使用Win32 API CreateProcessAsUser()在我的C#.NET项目中使用模拟用户执行程序时,它已成功。
但我想要使用.NET Framework API实现。
有类似System.Diagnostics.Process.Start()的方法 但它与CreateProcessAsUser()不完全相同。
函数CreateProcessAsUser()接收" hToken"在第一个参数。因此,当我复制一个令牌并将其用于该功能时,我可以冒充用户并执行该用户的程序。
但System.Diagnostics.Process.Start()方法并没有提供这样的参数。
如果有人知道这件事,你能告诉我吗? 感谢
答案 0 :(得分:2)
ProcessStartInfo在NET 2.0或更高版本中具有UserName和Password属性。
答案 1 :(得分:1)
没有原生解决方案。对不起,我很失望。
正如微软知识库所建议的那样,你只能通过P / Invocation(就像你这样做)来做到这一点: https://support.microsoft.com/en-us/kb/889251