【笔记】用 C语言实现窗口抖动
本帖最后由 天霸动霸tua 于 2018-2-7 15:30 编辑大家一定都知道qq窗口有个抖动按钮,其实我们自己用C语言也可以实现这个效果,话不多说,上源码
#include <stdio.h>
#include <windows.h>
int main(){
int shake_time = 5; //休眠的时间,为5毫秒
int shake_distance = 10; //移动了10像素
RECT rect; //RECT是一个矩形结构体,相当于保存了一个矩形的四条边的坐标
HWND window = NULL,oldwindow = NULL; //两个窗口句柄
int x,y,width,height; //用来保存窗口横纵坐标和宽度、高度的变量
int i;
//抖50次吧
for(i = 0 ; i < 50 ; i++){
window = GetForegroundWindow(); //拿到活动窗口
if(window != oldwindow){
//获取指定窗口的位置
GetWindowRect(window,&rect);
x = rect.left;
y = rect.top;
width = rect.right - x;
height = rect.bottom - y;
oldwindow = window;
}
MoveWindow(window,x-shake_distance,y,width,height,TRUE); //移动窗口,向左移动了10像素,下同
Sleep(shake_time);//休眠time毫秒,线程休眠
MoveWindow(window,x-shake_distance,y-shake_distance,width,height,TRUE);
Sleep(shake_time);
MoveWindow(window,x,y-shake_distance,width,height,TRUE);
Sleep(shake_time);
MoveWindow(window,x,y,width,height,TRUE);
Sleep(shake_time);
}
return 0;
}
效果图
参考编程范的思路,欢迎大家一起学习,一起探讨!!
SupKevin 发表于 2018-2-7 17:01
哈哈,我的一会就抖完了,好快~,推荐楼主去写博客,在论坛写学习笔记感觉不大好~
谢谢 不错去搞个博客玩玩 18728752045 发表于 2018-2-7 23:54
666 上学期学了C语言 没想到还能这么玩
在学校老师也不说这些觉得做好玩的东西才有兴趣 不错,谢谢分享~~! 谢谢分享哈。。 谢谢分享! 好人,上机试了一试,运行通过 哈哈,我的一会就抖完了,好快~,推荐楼主去写博客,在论坛写学习笔记感觉不大好~
这个有点意思了,支持! 非常有意思 666 上学期学了C语言 没想到还能这么玩 怎么利用这个抖动好友呢