IntPtr t=new IntPtr(excel.Hwnd);   //得到这个句柄,具体作用是得到这块内存入口       int k= 0;   
       GetWindowThreadProcessId(t,out k);   //得到本进程唯一标志k
       System.Diagnostics.Process p=System.Diagnostics.Process.GetProcessById(k);   //得到对进程k的引用
       p.Kill(); 上面的代码执行到最后一行,也就是:P.Kill会报拒绝访问
怎么解决?

解决方案 »

  1.   

    你没有权限。
    在config文件里写加入登录机器的用户名密码。
      

  2.   

    我加了,下面是代码:
       <identity impersonate="true" userName="zhouwu" password="1"/>
    但还是报这个错误
      

  3.   

    你先获得所有的进程~  
    Process[] ps=Process.GetProcesses();
                Process [] p=Process.GetProcesses();
                
                string aa = "explorer";
                foreach(Process ps in p)
                {
                    if(ps.ProcessName==aa)
                    {
                        ps.Kill();
                    }
                }
    这样就行了~  你也可以把string aa="explorer"   换成一个数组 挨着一个个结束