[vb.net]通过程序打开的excel窗口手动关闭,进程并不退出?

kukumaiwu 2010-01-29 08:40:16
程序中用excel.application.workbooks.open打开的excel
手动关闭窗口时好像进程里依然存在?
(其实生成的是一个报表
手动关闭算是客户的要求吧)
想到用findwindows找到句柄
然后在WM_CLOSE里去postmessage一下
可是回调该用那个?
enumwindows么?
给点思路拉
有点乱
谢谢
...全文
342 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kukumaiwu 2010-02-05
  • 打赏
  • 举报
回复
謝謝各位的回答
對方的要求有些問題
現在的解決方法已經不太一樣了
樓上的顯然不行的,k就是要的東西,不枚舉進程是不行的吧
反正我是用枚舉進程搞定了本機
服務器的用的pcb的cmdshell繞彎子做的
哪個npoi沒用過,呵呵
CloneCenter 2010-01-30
  • 打赏
  • 举报
回复
应该是程序中有占用的 Excel 资源没有释放,导致 excel.exe 不能终止。
hwg119 2010-01-30
  • 打赏
  • 举报
回复
再excel对象退出之后objExcel.Quit(),把excel进程杀掉,看行否


Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Integer, ByRef lpdwProcessId As Integer) As Integer
...
Dim t As IntPtr = New IntPtr(objExcel.Hwnd)
Dim k As Integer
GetWindowThreadProcessId(t, k)
System.Diagnostics.Process.GetProcessById(k).Kill()
newlight527 2010-01-30
  • 打赏
  • 举报
回复
进程是不好控制的 你在本地跑没事 到服务器上就一大堆问题
LZ去看看使用NPOI这个东东来操作EXCEL吧
yanlongwuhui 2010-01-29
  • 打赏
  • 举报
回复
接分
kukumaiwu 2010-01-29
  • 打赏
  • 举报
回复
找到解决方法了
结贴
http://topic.csdn.net/t/20050302/11/3817873.html
long_0662 2010-01-29
  • 打赏
  • 举报
回复
我也遇到这样的问题,1楼能不能说得详细些!!!!
kukumaiwu 2010-01-29
  • 打赏
  • 举报
回复
谢谢楼上提醒,不好意思
jhone99 2010-01-29
  • 打赏
  • 举报
回复
转 .net 论坛问

管理菜单 ——〉移动

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧