前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【程序源码】C语言实现窗口抖动功能

【程序源码】C语言实现窗口抖动功能

作者头像
编程范 源代码公司
发布2018-04-18 11:25:46
1.4K0
发布2018-04-18 11:25:46
举报

程序源码

想必大家都知道QQ聊天对话框中,有一个窗口抖动的功能,相信大家也都用过,但能否用C语言做出来呢?

答案绝对是肯定的,但如何实现的呢?今天就教大家怎么做。

话不多少,上源码!!

  1. #include <stdio.h>
  2. #include <windows.h>
  3. int main(int argc, char *argv[])
  4. {
  5. RECT rect; //RECT是一个矩形结构体,相当于保存了一个矩形的四条边的坐标
  6. HWND hwnd = NULL,oldhwnd = NULL; //两个窗口句柄
  7. int x,y,width,height; //用来保存窗口横纵坐标和宽度、高度的变量
  8. int i;
  9. system("title C语言研究中心www.dotcpp.com");
  10. for(i=0;i<50;i++)
  11. {
  12. hwnd = GetForegroundWindow(); //一个API函数,获取活动窗口的句柄
  13. if(hwnd!=oldhwnd)
  14. {
  15. GetWindowRect(hwnd,&rect); //获取指定窗口的位置
  16. x = rect.left;
  17. y = rect.top;
  18. width = rect.right - x;
  19. height = rect.bottom - y;
  20. oldhwnd = hwnd; //把刚刚获取的窗口句柄保存起来。
  21. }
  22. MoveWindow(hwnd,x-10,y,width,height,TRUE); //向左移动了10像素,下同
  23. Sleep(5); //暂停5毫秒
  24. MoveWindow(hwnd,x-10,y-10,width,height,TRUE);
  25. Sleep(5);
  26. MoveWindow(hwnd,x,y-10,width,height,TRUE);
  27. Sleep(5);
  28. MoveWindow(hwnd,x,y,width,height,TRUE);
  29. Sleep(5);
  30. }
  31. return 0;
  32. }

大家可以自行理解下代码,主要就是调用了windows中的几个API,包括获取句柄,移动位置等。

那么窗口的抖动其实就是让一个窗口在几个位置停顿一小下然后来回切换,就会形成抖动效果!仅此而已

怎么样,大家看懂了吗?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程范 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档