none
Ícone piscando na barra de tarefas em aplicação desktop com c# RRS feed

  • Pergunta

  • Olá, gostaria que me ajudassem com uma solução que preciso implementar na minha aplicação desktop em c#.
    Sou novo em programação c# e preciso fazer com que o ícone da minha aplicação que fica na barra de tarefa do Windows pisque ao ter uma ação no programa, só que não tenho ideia de como fazer isso, alguém pode me ajudar ou passa um tutorial passa a passo de como fazer este código.

    Desde já agradeço.

    JUNIOR GUERREIRO T.I

    quinta-feira, 28 de maio de 2020 15:43

Todas as Respostas

  • Ola Júnior,

    O código abaixo pode te dar uma idéia como implementar o que você quer

    __________________________________________________________________

    using System.Runtime.InteropServices;
    using Microsoft.Win32;

    // To support flashing.
    [DllImport("user32.dll")]
    [return: MarshalAs(UnmanagedType.Bool)]
    static extern bool FlashWindowEx(ref FLASHWINFO pwfi);

    //Flash both the window caption and taskbar button.
    //This is equivalent to setting the FLASHW_CAPTION | FLASHW_TRAY flags. 
    public const UInt32 FLASHW_ALL = 3;

    // Flash continuously until the window comes to the foreground. 
    public const UInt32 FLASHW_TIMERNOFG = 12;

    [StructLayout(LayoutKind.Sequential)]
    public struct FLASHWINFO
    {
        public UInt32 cbSize;
        public IntPtr hwnd;
        public UInt32 dwFlags;
        public UInt32 uCount;
        public UInt32 dwTimeout;
    }

    // Do the flashing - this does not involve a raincoat.
    public static bool FlashWindowEx(Form form)
    {
        IntPtr hWnd = form.Handle;
        FLASHWINFO fInfo = new FLASHWINFO();

        fInfo.cbSize = Convert.ToUInt32(Marshal.SizeOf(fInfo));
        fInfo.hwnd = hWnd;
        fInfo.dwFlags = FLASHW_ALL | FLASHW_TIMERNOFG;
        fInfo.uCount = UInt32.MaxValue;
        fInfo.dwTimeout = 0;

        return FlashWindowEx(ref fInfo);
    }

    __________________________________________________________________________________

    quinta-feira, 28 de maio de 2020 19:20
    Moderador
  • Junior

    Uma ideia pra ti é mudar o ícone DO FORM logo após a ação realizada.

    Crie um ícone com uma cor e outro ícone de outra cor e depois fique alterando entre eles no form.


    Espero ter ajudado. Se ajudei, favor marcar no fórum falando que foi útil.

    Mauricio Junior - Comunidade www.ecode10.com

    sexta-feira, 29 de maio de 2020 16:15
  • Muito obrigado Mauricio pela atenção.

    Tenho uma duvida, este código e crio como uma classe no meu projeto pra poder usar.

    Att.


    JUNIOR GUERREIRO T.I

    sexta-feira, 29 de maio de 2020 16:36
  • Esta me apresentando este erro, poderiam me ajudar.

    Assistente para Depuração Gerenciada 'PInvokeStackImbalance' : 'Uma chamada para a função PInvoke 'GMSuporte!GMSuporte.Dal.FlashWindow::FlashWindowEx' desbalanceou a pilha. Isso ocorreu provavelmente porque a assinatura gerenciada de PInvoke não corresponde à assinatura de destino não gerenciada. Verifique se a convenção e o parâmetro de chamada da assinatura de PInvoke são iguais aos da assinatura não gerenciada de destino.'

    Desde já agradesço


    JUNIOR GUERREIRO T.I

    sexta-feira, 29 de maio de 2020 18:34