冒充word.application

时间:2011-04-25 18:39:11

标签: c# interop impersonation

我有一个问题..这是我目前正在处理的代码......

Line 1: MessageBox.Show(System.Security.Principal.WindowsIdentity.GetCurrent().User.ToString());
Line 2: using ( new Impersonator( "testAdmin", "", "testAdmin" ) ) 
Line 3: { 
Line 4: word.Application wd = null; wd = new word.Application(); 
Line 5:  MessageBox.Show(System.Security.Principal.WindowsIdentity.GetCurrent().User.ToString()); 
Line 6: }

模仿类工作得非常好..当我执行GetCurrent()时,我在第1行和第5行获得不同的值。但是,当我尝试在第4行创建winword.exe进程时,winword。 exe不是使用模拟用户创建的..还有其他方法可以完成此任务

使用的模仿类: http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=10090&display=Mobile&zep=ImpersonatorDemo%2fImpersonator.cs&rzp=%2fKB%2fcs%2fzetaimpersonator%2f%2fzetaimpersonator_demo.zip

有没有更好的方式来冒充word.application?或者我这样做是错误的?

提前致谢!

-Rupesh


更新: 我终于想出了如何使用新凭证(不是当前用户)启动新进程。感谢这篇文章:Run new process as different user in vb.net

现在问题..如何将此对象(使用PID)与“wd”对象@Line 2相关联?

0 个答案:

没有答案