关于关闭窗口失败的问题(PostMessage WinWnd, WM_CLOSE)

langziqian 2010-05-10 03:20:50
用VB写的,调用PostMessage WinWnd, WM_CLOSE, 0&, 0& 关闭另一个程序窗口(Window_S)
现在的问题是,正常关闭Window_S是没有问题的,但是当Window_S异常,即需要手工右键才能关闭时,
PostMessage WinWnd就不好使了
各位有没有遇到过?
盼复
...全文
298 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
老人参 2010-05-11
  • 打赏
  • 举报
回复
2种方法,

1.加容错,如果异常,kill进程.

2.在你的程序中,插入汇编int13,出错就中断了,你反汇编跟踪一下就知道问题了.
Tiger_Zhao 2010-05-11
  • 打赏
  • 举报
回复
关闭进程:
http://topic.csdn.net/t/20040410/09/2947826.html
langziqian 2010-05-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 tiger_zhao 的回复:]
要么避免发生异常,要么强制杀进程。
[/Quote]

我也想查出为什么程序有时候就死掉了,但是在测试环境中无法重现,生产环境中很少发生,也没有错误日志,高手请指点;

我一会再开一个帖子,专门请教如何找出程序无缘无故死掉
klj123 2010-05-11
  • 打赏
  • 举报
回复
'试试下面的强制结束进程代码
Option Explicit
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Const PROCESS_TERMINATE = 1
Dim aa$, ProID&, hProcess&

Private Sub Command1_Click() '强制结束你的程序进程

On Error Resume Next
aa = "Window_S.exe" 'Window_S.exe是你关闭的程序
If Dir(aa) <> "" Then
hProcess = OpenProcess(PROCESS_TERMINATE, False, ProID)
TerminateProcess hProcess, 1
CloseHandle hProcess
End If
End Sub
hehaiyi2008 2010-05-11
  • 打赏
  • 举报
回复
关注!~~~
lyserver 2010-05-11
  • 打赏
  • 举报
回复
程序都异常了,当然无法接收消息来关闭窗口,可以使用WMI强行中止进程。
langziqian 2010-05-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 laorenshen 的回复:]

2.在你的程序中,插入汇编int13,出错就中断了,你反汇编跟踪一下就知道问题了.
[/Quote]

愿闻其详!!!
a1875566250 2010-05-10
  • 打赏
  • 举报
回复
强制Kill进程。
Tiger_Zhao 2010-05-10
  • 打赏
  • 举报
回复
要么避免发生异常,要么强制杀进程。
赵4老师 2010-05-10
  • 打赏
  • 举报
回复
pskill 进程名
langziqian 2010-05-10
  • 打赏
  • 举报
回复
各位 现在程序不是关闭不了 而是在被关闭程序异常的时候,不能被关闭
继续请教,谢谢
Tiger_Zhao 2010-05-10
  • 打赏
  • 举报
回复
PostMessage WinWnd, WM_SYSCOMMAND, SC_CLOSE, 0&
东方之珠 2010-05-10
  • 打赏
  • 举报
回复
用API函数SendMessage
threenewbee 2010-05-10
  • 打赏
  • 举报
回复
手工右键才能关闭
右键还有这个功能?

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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