[英]Impersonating in .net (C#) & opening a file via Process.start
嗨,我正在使用LogonUser
进行一些模拟,这在很多地方都得到了解释。
(我使用了这里介绍的很棒的类库,但是原理似乎在整个网络上都是一样的)。
我已经成功地模拟并转到了我的“普通”用户无法访问的地方。 但是当我尝试使用Process.Start
以编程方式打开doc
文件或txt
文件或其他文件时,出现了错误
“没有足够的内存或磁盘空间来运行Word。”
我可以使用普通用户以编程方式启动word,但是,当我尝试使用其他用户以编程方式打开特定文件时,我得到了:
“拒绝访问”。
顺便说一句,当我手动登录到计算机时,该其他用户有权打开文件。
这闻起来像ProcessStartInfo.LoadUserProfile的问题。 默认为false,其副作用是启动的进程将看到您帐户的HKCU注册表设置,而不是模拟的帐户。 Office程序不会这样。
请注意,afaik还必须将UseShellExecute设置为false才能使此设置生效。 仅通过传递.doc文件作为文件名,将会限制您启动Word的能力。 您需要使用“ winword.exe”代替。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.