C语言实现窗口抖动

时间:2022-02-22 06:54:33

本文实例为大家分享了C语言窗口抖动的具体实现代码,供大家参考,具体内容如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#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;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/landv/p/8903431.html