qcjlh:=Findwindow(nil,'全程记录显示');
SendMessage(qcjlh,WM_SYSCOMMAND, SC_CLOSE,0);这样无法立即关闭指定窗体,等待循环都无法解决。只有这样
qcjlh:=Findwindow(nil,'全程记录显示');
if qcjlh>0 then
begin
SendMessage(qcjlh,WM_SYSCOMMAND, SC_CLOSE,0);//关闭
Dm.bsSkinMessage1.MessageDlg2(' 全程记录显示已打开,请确认!', '提示', mtWarning, [mbOk], 0);
Exit;
end;
才能够正常关闭指定的窗体.
SendMessage(qcjlh,WM_SYSCOMMAND, SC_CLOSE,0);这样无法立即关闭指定窗体,等待循环都无法解决。只有这样
qcjlh:=Findwindow(nil,'全程记录显示');
if qcjlh>0 then
begin
SendMessage(qcjlh,WM_SYSCOMMAND, SC_CLOSE,0);//关闭
Dm.bsSkinMessage1.MessageDlg2(' 全程记录显示已打开,请确认!', '提示', mtWarning, [mbOk], 0);
Exit;
end;
才能够正常关闭指定的窗体.
解决方案 »
- “北京IT之夜”大型Party
- 求助判断网页中的数据!
- 如何让ActiveX控件Show出来的Form从属于IE浏览器?
- 凡是用过ACCESS的兄弟们,进来看看吧,在线两个月了,没有人解决
- 教你怎样黑论坛[转帖]
- 一個很簡單的問題(在線等待)
- 怎么把一个工程编译成一个单一的EXE文件?
- 为何下面这段代码执行后,在数据库中,记录未delete掉?
- 取字符串的左侧几个字符用什么函数??????
- 在SQL SERVER中为什么执行“Select * From TableName Where Field1=''”语句不会有结果?
- 8年未做delphi开发了,遇到问题请高手帮忙
- delphi record OleVariant 怎么才能互相转换
SendMessage(qcjlh,WM_CLOSE,0,0);
是我的程序调用DLL显示出来的。
你DLL中这个窗体在OnClose事件中做了某些处理?
你用了皮肤控件?皮肤控件可能接管了WM_SYSCOMMAND消息,你查看下它的源码。
自定义个消息,在消息处理函数中关闭窗口,看是否正常。
现在是接收到了消息,只是必须在我的主程序中,弹出一个对话框出来才行。
否则他就是不自动关闭。因为DLL是我主程序调用的。
是有这样的可能性,但我们是行业的名字,基本重复性很少。目前通过修改DLL已经实现自动关闭功能。谢谢各位。