Is it possible to trigger Windows' "flash the task bar button X times or until the window comes to the foreground" behavior from a batch file? I'm trying to call the user's attention to a long-running script upon completion.
Using an external program to trigger the flashing is fine, as long as it doesn't require an install (i.e. the executable can be bundled with my scripts).
Update
Here's what I ended up with (a minimalist port of Andreas' Delphi code). I've compiled it under MinGW at it appears to be dependent only on KERNEL32.DLL and USER32.DLL, so should be highly portable.
Flashes three times, then stays highlighted until brought to the foreground.
#define WINVER 0x501
#define _WIN32_WINNT 0x501
#include <windows.h>
void main(int argc, char **argv) {
FLASHWINFO info = { sizeof(info), GetConsoleWindow(), FLASHW_TIMERNOFG | FLASHW_TRAY, 3, 0 };
FlashWindowEx(&info);
}
GetConsoleWindow
is much better thanFindWindow
and a unique caption. Don't know why I didn't do that... – Andreas Rejbrand