隐藏窗体后怎么关机??(100分)

  • 主题发起人 主题发起人 AvidMouse
  • 开始时间 开始时间
A

AvidMouse

Unregistered / Unconfirmed
GUEST, unregistred user!
我用 Application.ShowMainForm:= False;隐藏窗体,好像就不能正常关机了,为什么,怎么解决??
同时,我试了在MainForm的OnPaint事件中加入MainForm.Visible:= False;
或者使用ShowWindow(HWND,SW_Hide)和SetWindowLong来实现,都不能正常关机,怎么回事??

分不多了,还请不吝赐教!!!谢先!!!
 
和关机好像没直接关系吧!
 
检查MainForm的OnClose和OnCloseQuery事件中有没有写代码。
OnClose是关闭窗口时调用
OnCloseQuery是关机时调用
如果还不行的话,把窗口显示出来,看能不能正常关机。
 

我想可能是你的程序没有将某些自定义对象

占用内存的释放掉。
 
和关机好像没直接关系吧!
 
在onClose,OnCloseQuery中没有代码,
已经隐藏了,怎么显示出来???而且,我也不知道什么时候关机啊,我的意思是,不进行任何人为的
操作,就可以顺利关机,注销。可以吗??
 
奇怪,这不能关机???你关闭之后能关机吗?
 
已经隐藏了,怎么显示出来???
把隐藏主窗口的语句先注释掉
Application.ShowMainForm:= False;
MainForm.Visible:= False;
ShowWindow(HWND,SW_Hide)
。。。
 
已经隐藏了可以用pplication.ShowMainForm:= True 显示出来。
不能关闭一般原因是窗口某些操作需要用户应答。
可能是关闭时弹出来了对话框。一些异常事件也会弹出对话框。
检查一下有关闭时发生的事件。
另外,一般不要在OnPaint里改变显隐状态。
 
杀掉它后就可以正常关机了,我翻了些以前的讨论,说用了registerServiceProcess后不能正常关机,
但我确实没用它啊,只是用了Application.ShowMainForm:= False ,在OnClose,OnCloseQuery中也没有任何语句,
真不知道错到那了。

谢谢各位的关注!!!
 
换台机器试试
 
用结束任务吧。。
如果要让程序自己关机用exitwindowsex(1,0)就可以了。不果在win2000中还要先取得权限。
 
可以在程序中注册全局热键来显示隐藏的窗口。
 
我也遇到同样的问题?
 

Similar threads

I
回复
0
查看
393
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部