一年前,从网上找到一些C#导出MS Excel的例子,但是都不能彻底销毁其所创建的Excel进程,典型的就是进程中的EXCEL.EXE不能关掉。
网上的解决方案大部分是kill掉所有的Excel进程,偶一直感觉不爽。最近,做了几个月的WinForm,接触了一些进程、句柄方面的知识。于是试着解决一下,没想到成功了,创建的Excel进程被成功Kill掉了,而其它Excel进程则相安无事。
public void KillSpecialExcel()
{
try
{
if (m_objExcel != null)
{
int lpdwProcessId;
GetWindowThreadProcessId(new IntPtr(m_objExcel.Hwnd), out lpdwProcessId);
System.Diagnostics.Process.GetProcessById(lpdwProcessId).Kill();
}
}
catch (Exception ex)
{
Console.WriteLine("Delete Excel Process Error:" + ex.Message);
}
}

本文详细介绍了使用C#语言通过进程ID来定位并杀死特定的Excel进程实例,避免了传统方法中批量杀掉所有Excel进程带来的不便。提供了实用的代码示例,帮助开发者在Windows Form应用中实现更精细的资源管理。
946

被折叠的 条评论
为什么被折叠?



