关闭

C++获取窗口坐标并移动窗口

标签: c++
3671人阅读 评论(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; 
} 
 


2
0
查看评论

MFC窗口位置和大小的获取

最近在做一个项目,需要控件随对话框大小的变化而变化,因此需要准确获取对话框窗口、控件的大小和位置。   经过好一番查寻、测试,终于看到了希望。下面是一些获取窗口位置和大小的函数,示例如下: 1、获取屏幕分辨率 复制代码 //下边两个函数获取的是显示屏幕的大小,但不包括任务栏等区域 int...
  • l198738655
  • l198738655
  • 2017-07-18 17:14
  • 1025

MFC获取窗口和客户区坐标分析

CWnd* pWnd = GetDlgItem(IDB_BUT_RECOGNIZE); pWnd->GetClientRect(&rect);   //指该控件自身客户区的矩形,原点为控件左上角,长宽为整个控件的尺寸 ClientToScreen(&rect)...
  • kapok_lalala
  • kapok_lalala
  • 2017-05-13 19:24
  • 717

窗口坐标获取 VC

<br />    GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。 <br /><br />   GetClien...
  • guolonghui
  • guolonghui
  • 2011-04-28 23:00
  • 7195

VC++设置窗口的大小和位置

  • 2012-08-23 09:44
  • 12KB
  • 下载

VC/MFC拖动窗口任意位置移动窗口

除了拖动标题栏移动窗口以外,我们也可以拖动窗口任意位置(除控件)位置而使对话框移动。 这里只讲述基于对话框的程序 class c**dlg:public CDialog { //Construction public: Crect startRect; //窗口的初始位置所在的...
  • luanwujian
  • luanwujian
  • 2013-06-08 22:34
  • 2584

C++ 获取窗口句柄

1、使用FindWindow函数获取窗口句柄 示例:使用FindWindow函数获取窗口句柄,然后获得窗口大小和标题,并且移动窗口到指定位置。 [html] view plaincopy #include Windows.h>...
  • Entre_
  • Entre_
  • 2015-06-01 11:48
  • 2800

获取窗口句柄

1、使用FindWindow函数获取窗口句柄 示例:使用FindWindow函数获取窗口句柄,然后获得窗口大小和标题,并且移动窗口到指定位置。 #include #include #include #include int main(int argc, char* argv[]) { ...
  • dazhong159
  • dazhong159
  • 2012-08-24 12:26
  • 30283

c++截取屏幕图片并保存(函数代码实现)

//获取桌面窗口的CDC CDC *pdeskdc = GetDesktopWindow()->GetDC(); CRect re; //获取窗口的大小 GetDesktopWindow()->GetClientRect(&re); CBitmap bmp; bm...
  • ghevinn
  • ghevinn
  • 2014-06-03 17:18
  • 8068

C/C++自动调整界面布局的对话框

来源:http://blog.csdn.net/xianglitian/article/details/5667015 例子:http://download.csdn.net/download/xianglitian/2425531 CodeProject上的例子: EasySize - Di...
  • testcs_dn
  • testcs_dn
  • 2013-03-04 16:55
  • 3944

C++屏幕找图FindProc

  • 2013-03-03 01:21
  • 2KB
  • 下载
    -广告-
    一个极其温馨的提示
    个人资料
    • 访问:48284次
    • 积分:1744
    • 等级:
    • 排名:千里之外
    • 原创:127篇
    • 转载:1篇
    • 译文:0篇
    • 评论:22条
    最新评论