paperlined.org
apps > autohotkey > small_bits
document updated 14 years ago, on Oct 23, 2009
Things that don't affect blinking at all:

    - hide window, and then show it

    - hide the window;  FlashWindowEx(hwnd, FLASHW_STOP);  show the window

    - disable UI inputs on window, re-enable

    - send the window a "please redraw" message


Things that affect blinking a LITTLE bit, but don't really fix it at all

    - FlashWindowEx(hwnd, FLASHW_STOP); 
                the current cycle of taskbar blinking is interrupted quickly, but future cycles continue unabated

    - FlashWindowEx(hwnd, FLASHW_TIMER);  FlashWindowEx(hwnd, FLASHW_STOP); 
                the current cycle of taskbar blinking is interrupted quickly, but future cycles continue unabated


Things that do seem to work, but that have notable side-effects:

    - give the window focus, and then restore focus to the window that previously had focus
                interrupts the user, and it can misdirect keystrokes during active typing

    - hide the window, give it focus, give the original window focus, and then show it
                interrupts the user, and it can misdirect keystrokes during active typing
                [works for Lotus Notes IM, but doesn't work for my test app]

    - add WS_EX_TOOLWINDOW to the window's ExStyle
                Works, but removes the window from the Alt-Tab lineup.
                Removing WS_EX_TOOLWINDOW makes the window continue blinking again.
                (in AHK, it's   WinSet, ExStyle, +0x80,  ahk_id %hwnd%)


Things that work completely, but only on SOME apps, not all:

    ...





Things to try:

    - use SetParent() to make the window a child of one of our windows, which should remove it from
      the taskbar;  then undo the action        (maybe this will clear the blink flag?)


    - try a COMPLETELY different course -- write a small C program that uses DLL injection to stub
      out FlashWindow() and FlashWindowEx() system-wide.    (both are provided by user32.dll)

    - similar to the above, write a small C program that prevents any application from receiving
      HSHELL_FLASH      (can WH_SYSMSGFILTER do this?)