Déclenchement du bouton Flash de la barre des tâches depuis le fichier de commandes?

Est-il possible de déclencher le bouton “X Flash de la barre des tâches” de Windows ou jusqu’à ce que la fenêtre apparaisse au premier plan? J’essaie d’attirer l’attention de l’utilisateur sur un script de longue durée à la fin.

Utiliser un programme externe pour déclencher le clignotement convient, à condition qu’il ne nécessite aucune installation (l’exécutable peut être associé à mes scripts).

Mettre à jour

Voici ce que j’ai fini avec (un port minimaliste du code Delphi d’Andreas). Je l’ai compilé sous MinGW à ce qui semble dépendre uniquement de KERNEL32.DLL et USER32.DLL, donc devrait être très portable.

Clignote trois fois, puis rest en surbrillance jusqu’au premier plan.

#define WINVER 0x501 #define _WIN32_WINNT 0x501 #include  void main(int argc, char **argv) { FLASHWINFO info = { sizeof(info), GetConsoleWindow(), FLASHW_TIMERNOFG | FLASHW_TRAY, 3, 0 }; FlashWindowEx(&info); } 

Il est très facile de faire en utilisant un très simple external * .exe. Il suffit d’appeler la fonction FlashWindowEx de l’API Windows.

Ceci est un exemple d’application de la console Delphi:

 program flashwnd; {$APPTYPE CONSOLE} uses SysUtils, Windows; var OldTitle, UniqueTitle: ssortingng; h: HWND; c: cardinal; fwi: TFlashWInfo; begin try h := GetConsoleWindow(); c := 10; if ParamCount = 1 then c := StrToInt(ParamStr(1)); FillChar(fwi, sizeof(fwi), 0); fwi.cbSize := sizeof(fwi); fwi.hwnd := h; fwi.dwFlags := FLASHW_ALL; fwi.uCount := c; fwi.dwTimeout := 0; FlashWindowEx(fwi); except on E: Exception do Writeln(E.ClassName + ': ' + E.Message); end; end. 

Il suffit de l’appeler comme

 flashwnd 

pour flasher la fenêtre de console actuelle dix fois. Appel

 flashwnd 27 

clignoter la fenêtre 27 fois.