如何避免关注Delphi应用程序?

时间:2010-03-16 11:19:45

标签: delphi focus

我需要开发一个永远不会得到焦点的应用程序(Delphi),我使用DLL在第二台显示器上显示视频(我在Torrys Delphi中找到 - Dr.SAGURA Media Player v.1.0)每次都能获得焦点播放视频,怎么避免这个?
我试试:

procedure TForm.WMActivate(var Msg: TWMActivate);  
begin  
  WA_ACTIVE :
  begin  
    Msg.Result := 0;// cancel focus  
  end;  
end;

不成功!

由于 让·阿里森

2 个答案:

答案 0 :(得分:3)

  • 在你的项目DPR中设置Application.MainFormOnTaskBar:= False。
  • 覆盖表单的OnShow和OnActivate事件并将其添加到它们中:ShowWindow(Application.Handle,SW_HIDE);
  • 覆盖表单的CreateParams过程并将WS_EX_NOACTIVATE添加到Params.ExStyle。

前两项隐藏了任务栏和Alt + Tab列表中的应用程序,最后一项阻止它在显示和点击时获得焦点。

答案 1 :(得分:0)

不可专注的背后意图是什么?您想避免用户关闭/最小化/最大化窗口? 也许你的需要可以理解真正的问题。

也许有一个服务而不是常规应用程序可以成功。