读书人

怎么获取当前word进程 并关闭

发布时间: 2013-03-19 17:22:05 作者: rapoo

如何获取当前word进程 并关闭
最近一直在用C#操作word 想了解一下如何在C#程序中获取当前操作的word进程 并关闭当前操作的word进程(注意:不是关闭所有的word进程)
[解决办法]
之前查到过Excel的,感觉应该差不多,是写了一个函数,参数改成你正在操作的word,可以试一下

        public static void Kill(Excel.Application excel)
{
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

}


[解决办法]
COM对象没有关闭干净,用Marshal.ReleaseComObject来关闭。

例如:

Worksheets sheets = excelApp.Worksheets; // <-- the important part
Worksheet sheet = sheets.Open(...);
...
Marshal.ReleaseComObject(sheets);
Marshal.ReleaseComObject(sheet);

读书人网 >C#

热点推荐