windows – 从批处理文件触发任务栏按钮闪烁?
发布时间:2020-12-13 20:46:32 所属栏目:Windows 来源:网络整理
导读:是否有可能从批处理文件中触发Windows“闪存任务栏按钮X次或直到窗口到达前台”行为?我试图在完成时将用户的注意力转移到长时间运行的脚本上. 使用外部程序来触发闪存很好,只要它不需要安装(即可执行文件可以与我的脚本捆绑在一起). 更新 这就是我最终得到
是否有可能从批处理文件中触发Windows“闪存任务栏按钮X次或直到窗口到达前台”行为?我试图在完成时将用户的注意力转移到长时间运行的脚本上.
使用外部程序来触发闪存很好,只要它不需要安装(即可执行文件可以与我的脚本捆绑在一起). 更新 这就是我最终得到的(Andreas’Delphi代码的极简主义端口).我在MinGW下编译它似乎只依赖于KERNEL32.DLL和USER32.DLL,所以应该是高度可移植的. 闪烁三次,然后保持突出显示直到前景. #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); }
使用非常简单的外部* .exe非常容易.它只需要调用Windows API的
FlashWindowEx 功能.
这是一个示例Delphi控制台应用程序: program flashwnd; {$APPTYPE CONSOLE} uses SysUtils,Windows; var OldTitle,UniqueTitle: string; 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. 简单地称之为 flashwnd 将当前控制台窗口闪烁十次.呼叫 flashwnd 27 闪过窗户27次. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- windows-xp – 本地帐户的共享和安全模型:在域中
- windows-server-2012 – 从Windows Server 2012
- .net – 更改正在运行的进程会话ID和lpDesktop?
- Windows:如何启动docker VM att系统启动
- 是否有任何类型的Windows服务器配置更改日志?如
- 需要帮助在Windows上为python27构建调试lxml
- windows-update – wusa.exe返回代码5是什么意思
- xaml – CollectionViewSource“值不在预期范围内
- windows-7 – Windows 7 x64 – 无头运行的免费虚
- windows-phone-7 – Windows Phone 7背景主题设置
热点阅读