GARANTIR DESCONTO

Fórum Como saber se a barra do INICIAR está ativa? #355834

24/03/2008

0

Pessoal,

Estou fazendo um programa em que preciso que uma janela apareça na parte de baixo da tela, à direita do vídeo, tal como ocorre com aquelas telas de notificação do MSN quando um contato nosso fica online.

DÚVIDA: Como saber quando a barra do INICIAR do Windows está sendo exibida ou quando está com auto-ocultar configurado? Preciso saber para poder possicionar corretamente esta ´tela de notificação´ ao ser exibida. Ela não pode ficar nem atrás nem sobre a barra do INICIAR do Windows.

vlw


Rtava

Rtava

Responder

Posts

24/03/2008

Rtava

Já descobri....

unit ShellAPI;

TTaskBarPositions = (tbpHidden = 0,
                     tbpLeft   = 1,
                     tbpRight  = 2,
                     tbpTop    = 3,
                     tbpBotton = 4);

function TaskBarPosition(Var vRect: TRect): TTaskBarPositions;
Var ABData: TAppBarData;
begin
   try
      if (SHAppBarMessage(ABM_GETSTATE, ABData) and ABS_AUTOHIDE) <= 0 then
      begin
         case ABData.uEdge of
            ABE_LEFT  : Result := tbpLeft;
            ABE_TOP   : Result := tbpTop;
            ABE_RIGHT : Result := tbpRight;
            ABE_BOTTOM: Result := tbpBotton;
         end;
      end
      else
      begin
         Result := tbpHidden;
         Exit;
      end;

      FillChar(ABData, SizeOf(TAppBarData), 0);
      ABData.cbSize := SizeOf(TAppBarData);

      SHAppBarMessage(ABM_GETTASKBARPOS, ABData);
      vRect := ABData.rc;
   except
   end;
end;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar