欢迎来到天天文库
浏览记录
ID:38251537
大小:18.04 KB
页数:4页
时间:2019-06-06
《C#强制关闭Excel进程(通过COM使用Excel时)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、//ExcelInstancesusingSystem;publicclassClass1{publicClass1(){}}publicclassExcelInstances{privatestaticMicrosoft.Office.Interop.Excel.Applicationm_excelApp=null;privatestaticMicrosoft.Office.Interop.Excel.Workbooksm_excelWorkBooks=null;[DllImport("User32.dll")]publicstaticexternintGetWin
2、dowThreadProcessId(IntPtrhWnd,outintProcessid);privateExcelInstances(){}//初?始n化âExcelInstances后@,C生÷成Ê相?应的ICOM实例aprivatestaticvoidInit(){if(m_excelApp==null){m_excelApp=newMicrosoft.Office.Interop.Excel.Application();m_excelApp.DisplayAlerts=false;m_excelApp.AlertBeforeOverwriting=false
3、;}if(m_excelWorkBooks==null){if(m_excelApp!=null){m_excelWorkBooks=m_excelApp.Workbooks;}}}//辅助?功€能获取a当?前O系n统中?Excel的I进程o数?publicstaticintGetExcelProcessCount(){intiReturn=0;System.Diagnostics.Process[]pProcesses=null;try{pProcesses=System.Diagnostics.Process.GetProcesses();foreach(Sys
4、tem.Diagnostics.ProcesspinpProcesses){if(string.Equals(p.ProcessName.ToString(),"EXCEL")){iReturn++;}}}catch(Exceptione){throwe;}returniReturn;}//强行s关闭指w定e的IExcel进程opublicstaticvoidKill(Microsoft.Office.Interop.Excel.ApplicationtheApp){intiId=0;IntPtrintptr=newIntPtr(theApp.Hwnd);System
5、.Diagnostics.Processp=null;try{GetWindowThreadProcessId(intptr,outiId);p=System.Diagnostics.Process.GetProcessById(iId);if(p!=null){p.Kill();p.Dispose();}}catch(Exceptione){throwe;}}privatestaticExcelInstances_objInstances=null;//获得?一e个‘ExcelInstances的I实例apublicstaticExcelInstancesGetIn
6、stances(){if(_objInstances==null){_objInstances=newExcelInstances();}Init();return_objInstances;}//按A照A文÷件?名?获得?指w定e的IworkbookpublicMicrosoft.Office.Interop.Excel.WorkbookGetWorkBook(stringstrFileName){returnm_excelWorkBooks.Add(strFileName);}//关闭workbookpublicvoidClose(){try{if(m_excel
7、WorkBooks!=null){m_excelWorkBooks.Close();System.Runtime.InteropServices.Marshal.ReleaseComObject(m_excelWorkBooks);m_excelWorkBooks=null;}if(m_excelApp!=null){m_excelApp.Quit();System.Runtime.InteropServices.Marshal.ReleaseComObject(m_excelApp);m_excelApp=null;}}catch(Exceptio
此文档下载收益归作者所有