C++获取窗口坐标并移动窗口
2016-08-19 15:57
1246 查看
获取窗口坐标之后,我们就可以移动窗口了,就可以做到一些神奇的事情
HWND hwnd是窗口句柄,我们要获取它
RECT rect是窗口坐标的结构体
GetWindowRect(hwnd,&rect);获取指定窗口坐标
MoveWindow()里面很麻烦,看下面代码
下面是代码
注意:窗口移动单位是像素
#include <windows.h>
#define SHAKE 5
void ShakeWindow(){
RECT rect;
HWND hwnd=GetForegroundWindow();
GetWindowRect(hwnd,&rect);
MoveWindow(hwnd,rect.left+SHAKE,rect.top,rect.right-rect.left,rect.bottom-rect.top,TRUE);
Sleep(28);
MoveWindow(hwnd,rect.left+SHAKE,rect.top-SHAKE,rect.right-rect.left,rect.bottom-rect.top,TRUE);
Sleep(28);
MoveWindow(hwnd,rect.left,rect.top-SHAKE,rect.right-rect.left,rect.bottom-rect.top,TRUE);
Sleep(28);
MoveWindow(hwnd,rect.left,rect.top,rect.right-rect.left,rect.bottom-rect.top,TRUE);
}
int main(){
while(1) {
ShakeWindow();
Sleep(20);
}
return 0;
}
HWND hwnd是窗口句柄,我们要获取它
RECT rect是窗口坐标的结构体
GetWindowRect(hwnd,&rect);获取指定窗口坐标
MoveWindow()里面很麻烦,看下面代码
下面是代码
注意:窗口移动单位是像素
#include <windows.h>
#define SHAKE 5
void ShakeWindow(){
RECT rect;
HWND hwnd=GetForegroundWindow();
GetWindowRect(hwnd,&rect);
MoveWindow(hwnd,rect.left+SHAKE,rect.top,rect.right-rect.left,rect.bottom-rect.top,TRUE);
Sleep(28);
MoveWindow(hwnd,rect.left+SHAKE,rect.top-SHAKE,rect.right-rect.left,rect.bottom-rect.top,TRUE);
Sleep(28);
MoveWindow(hwnd,rect.left,rect.top-SHAKE,rect.right-rect.left,rect.bottom-rect.top,TRUE);
Sleep(28);
MoveWindow(hwnd,rect.left,rect.top,rect.right-rect.left,rect.bottom-rect.top,TRUE);
}
int main(){
while(1) {
ShakeWindow();
Sleep(20);
}
return 0;
}
相关文章推荐
- java中怎么获取一个窗口移动后的坐标
- C++获取鼠标坐标并移动鼠标
- 002--VS C++ 获取鼠标坐标并显示在窗口上
- C++获取鼠标坐标并移动鼠标
- C++获取程序窗口外的鼠标坐标
- 窗口坐标获取 VC
- js中获取各种窗口的大小和鼠标坐标
- C#如何获取鼠标相对当前窗口的坐标
- C++ 得到光标坐标和移动光标
- C++根据进程获取主窗口的句柄
- 定时式获取鼠标处xy坐标和窗口对象(winapi)
- js中获取各种窗口的大小和鼠标坐标
- VC中获取窗口控件相对客户区的坐标
- MFC对话框应用程序 如何在对话框窗口显示前获取窗口(控件)的屏幕坐标位置
- Cocos2d-x学习:根据贝塞尔曲线进行抛物线移动补充,三角形顶点坐标获取某个角的角度
- 获取一个控件相对于父窗口的坐标位置
- Java获取窗口鼠标坐标以及键盘
- 在SDK中获取子窗口坐标的问题
- WinAPI: OffsetWindowOrgEx - 移动窗口坐标原点
- 窗口坐标获取 windows