HI,
我正在使用LogonUser
进行一些模仿,因为它在很多地方都有解释。
(我使用了引入here的优秀类库,但原则似乎在整个网络上都是一样的。
我已经成功冒充并去了一个我的“普通”用户不能去的地方。但是当我尝试使用doc
以编程方式打开txt
文件或Process.Start
文件或其他内容时,我收到错误
“没有足够的内存或磁盘 运行Word的空间。“
我可以使用普通用户以编程方式启动单词,但是当我尝试使用其他用户以编程方式打开特定文件时,我得到了:
“拒绝访问”。
顺便说一句,当我手动登录到我的电脑时,这个其他用户有权打开该文件。
答案 0 :(得分:1)
这有点像ProcessStartInfo.LoadUserProfile的问题。它默认为false,副作用是启动的进程将看到您帐户的HKCU注册表设置,而不是模拟的帐户。 Office程序不会喜欢这个。
请注意,afaik还必须将UseShellExecute设置为false才能使此设置生效。这将通过简单地传递.doc文件作为文件名来阻碍您启动Word的能力。你需要使用“winword.exe”。