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函数怎么使用
  • 热门搜索
    日行一善手抄报资料 守法手抄报 关于三爱的手抄报 数学知识手抄报 我的一本课外书手抄报 安全文明手抄报图片 珍惜时间手抄报 成长手抄报内容 关于清明节手抄报图片 青春手抄报图片