由于EXCEL进程关闭不了,于是想kill进程.
用以下代码关闭EXCEL,在VS上运行一点问题都没有,一发布放到IIS上就出问题了,错误显示"拒绝访问!应用程序中的服务错误!".
DCOM权限我也配置了啊,现在不知怎么搞解决不了.网上查了一下看到一个VS03的,说配置machine.config,VS05,08的跟这个不一样,模仿着搞一下还是不行.
[DllImport("User32.dll", CharSet = CharSet.Auto)]
public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID); public static void Kill(Excel.Application excel)
{
int tt = excel.Hwnd;
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(); //关闭进程k
} p.Kill(); //关闭进程k
上面这行代码有错.
用以下代码关闭EXCEL,在VS上运行一点问题都没有,一发布放到IIS上就出问题了,错误显示"拒绝访问!应用程序中的服务错误!".
DCOM权限我也配置了啊,现在不知怎么搞解决不了.网上查了一下看到一个VS03的,说配置machine.config,VS05,08的跟这个不一样,模仿着搞一下还是不行.
[DllImport("User32.dll", CharSet = CharSet.Auto)]
public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID); public static void Kill(Excel.Application excel)
{
int tt = excel.Hwnd;
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(); //关闭进程k
} p.Kill(); //关闭进程k
上面这行代码有错.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货