Подсветить кнопку программы на панели задач несколько раз
// Define FLASHWINFO structure as record type type
FLASHWINFO = record
cbSize: UINT;
hWnd: HWND;
dwFlags: DWORD;
uCount: UINT;
dwTimeOut: DWORD;
end;
TFlashWInfo = FLASHWINFO;
// Define dwFlags constants const
FLASHW_STOP = 0;
FLASHW_CAPTION = 1;
FLASHW_TRAY = 2;
FLASHW_ALL = FLASHW_CAPTION or FLASHW_TRAY;
FLASHW_TIMER = 4;
FLASHW_TIMERNOFG = 12;
var
Form1: TForm1;
FWInfo: TFlashWInfo;
// Function declaration for WinAPI call function FlashWindowEx(var pfwi: FLASHWINFO): BOOL; stdcall;
{...}implementation{...}// Import external function from 'USER32.DLL' with the same name function FlashWindowEx; external user32 Name 'FlashWindowEx';
procedure TForm1.FormCreate(Sender: TObject);
begin// Check for API function's availability ifnot Assigned(@FlashWindowEx) thenbegin
ShowMessage('API Function FlashWindowEx is not present... Exit program!');
Application.Terminate;
endelse// Set default parameters with FWInfo dobegin
cbSize := SizeOf(FWInfo); // Size of structure in bytes
hWnd := Form1.Handle; // Main's form handle
dwFlags := FLASHW_ALL; // Flash both caption & task bar
uCount := 10; // Flash 10 times
dwTimeOut := 100; // Timeout is 1/10 second apart end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin// Flash on normal state
FlashWindowEx(FWInfo);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin// Flash on minimized state
WindowState := wsMinimized; // Application.Minimize;
FlashWindowEx(FWInfo);
end;
Статья Подсветить кнопку программы на панели задач несколько раз раздела Рабочий стол TaskBar может быть полезна для разработчиков на Delphi и FreePascal.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.