c 如何获取桌面窗口大小

 时间:2024-10-21 08:46:34

c语言要畛粳棠奈获取桌面窗口的大小可以使用GetWindowRect()。该函数返回指定窗口的边框矩形的尺寸,通过计算窗口左上角的坐标和右下角的坐标值可以计算出窗口的大小,具体可以参考以下内容。

工具/原料

VS2017

一、需要的API函数

1、GetWindowRect函数原型如下:BOOL GetWindowRect(HWND hWnd,LPRECT lpRect);第一个参数是窗口句柄。第二个参数是RECT的结构体指针。

2、RECT结构体的定义如下图所示。

c 如何获取桌面窗口大小

3、将左上角和右下角的x轴坐标相减即可获取宽度。将左上角和右下角的y轴坐标相减即可获取高度。

二、以记事本为例

1、这里以获取记事本程序的窗口大小为例。首先在电脑上运行记事本,按WIN+R打开运行输入notepad,即可打开记事本程序。

c 如何获取桌面窗口大小

2、运行后,先要获取记事本的窗口句柄,通过FindWindow函数即可。第一个参数是窗口类,记事本的窗口类为notepad,后面是窗口标题,可以设置也可以不设置。

c 如何获取桌面窗口大小

3、接下来定义 rect 结构体变量,然后调用GetWindowRect()来将左上角和右下角的坐标保存到rect结构体变量中,然后计算出高度和宽度。

c 如何获取桌面窗口大小

4、最后输入宽度和高度的大小即为窗口的大小。

c 如何获取桌面窗口大小

5、总的代码及运行效果如下图所示。//添加上Api函数调用声明文件#include <tchar.h>#include <windows.h>int main(){ //获取无标题记事本的窗口句柄 HWND hwnd_notepad = FindWindow(_T("notepad"), 0); if (hwnd_notepad == 0) { MessageBox(0, _T("dont run notepad"), _T("error"), MB_OK); return 0; } //获取窗口大写 RECT rect; GetWindowRect(hwnd_notepad, &rect); LONG height = rect.bottom - rect.top; LONG width = rect.right - rect.left; //输出窗口大小信息 TCHAR tzbuf[256] = { 0 }; wsprintf(tzbuf, _T("%s%d\n%s%d"), _T("height="), height, _T("width="), width); MessageBox(0, tzbuf, _T("notepad window size"), MB_OK); return 0;}

c 如何获取桌面窗口大小
  • C语言教程 输出字符串常量
  • 如何用C++比较字符串?
  • c语言如何声明变量
  • 如何改变vc++6.0的字体和程序运行时的背景颜色
  • c++里面max函数怎么使用
  • 热门搜索
    粘鞋子用什么胶水好 不解之谜的意思 什么会影响生育 蛋白质粉什么时候吃 跑路是什么意思 开水果店需要什么手续 什么是淘宝美工 大快人心的意思 粉红玫瑰代表什么 什么叫天时地利人和