使用C语言怎么实现一个窗口抖动功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
具体内容如下
#include "stdafx.h"
#include <stdio.h>
#include<Windows.h>
int main()
{
int shake_time = 50; //休眠的时间,为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 < 10; 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;
}
看完上述内容,你们掌握使用C语言怎么实现一个窗口抖动功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注天达云行业资讯频道,感谢各位的阅读!