发送一个消息,将遮盖的窗口放到最前面。而不是标题闪烁。(100分)

  • 主题发起人 主题发起人 xxy888
  • 开始时间 开始时间
X

xxy888

Unregistered / Unconfirmed
GUEST, unregistred user!
为了避免程序运行二次,第二次点击时自动关闭,并发送一个消息,
使第一次运行的程序获得焦点,并将遮盖的窗口放到最前面。而不
是标题闪烁。
现主要问题是:并将遮盖的窗口放到最前面。而不是标题闪烁。
 
接收到消息:
if not IsIconic(Application.Handle) then
Application.Restore;
Application.BringtoFront;(也可以Application.ActiveForm.Show;)
 
标题闪烁,但是依旧没有放到最前面来。
 
hwnd:=FindWindow("要恢复的窗体类名","要恢复的窗体名")
ShowWindow(hwnd,SW_SHOWMAXIMIZED)
 
SetForegroundWindow(hwnd);
有时不起作用,原因不名,但如果hwnd是另一应用程序一定可以
 
后退
顶部