windows任务栏,在不自动隐藏的状态下,应用程序最大化不会将其覆盖。如果写一个无框窗体:width = screen.widthheight = 32top = 0那么如果实现任务栏的这种属性呢????
寻求一个思路,真的很好奇,不知道可否截获外部应用程序的最大化消息,如果可以,接下来又不知道咋办了……

解决方案 »

  1.   


    谢谢 poolord查询了一下,确实有这个函数,但是这样俺自己的app也跑到这个区域了,现在问题变成怎样脱离桌面区域显示
      

  2.   

    SHELLAPI里有一组任务栏相关的API可以用
    uses SHELLAPI;var 
      AppBarData: TAppBarData;
      AppBarMsg:Cardinal;//重载Form1的Create
    constructor  TForm1.Create(AOwner:  TComponent);
    begin
      inherited  Create(AOwner);
      AppBarMsg  :=  RegisterWindowMessage('TEST AppBar  Message');
      AppBarData.cbSize  :=  SizeOf(TAppBarData);
      AppBarData.Handle := Form1.Handle;//将Form1绑定为任务栏主窗口
      AppBarData.uCallbackMessage:= AppBarMsg;
      SHAppBarMessage(ABM_NEW, AppBarData); //创建任务栏
    end;procedure TForm1.wndproc(var Msg:TMessage);
    begin
      if Msg.Msg = AppBarMsg then //处理任务栏消息
      ;end;//以上资料只是相关片段代码,具体可以在互联网上查找,关键字就上面那几个结构体和API