c++ mfc的第一天
2021-05-26 23:27
1516 查看
想写个简单辅助,开始。。。。虽然大概率坚持不到最后,不过好歹先记录一下
使用软件:visual studio 2019
#include <iostream> #include <Windows.h> #include <stdio.h> #include <WinUser.h> using namespace std; //Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As String) As Long 网上一搜c++如何获取句柄全是这个,不过貌似不是c++用的,我也不知道该用在哪里 int main() { HWND hWnd=FindWindow(NULL, "进程名称");
hWnd是一个数字,对应一个进程句柄。 第一个参数是类,第二个参数是进程名,类是啥我也不知道,进程名就是任务管理器-进程-应用里箭头点开
一开始我还以为是上面那个。
然后HWND需要#include <Windows.h>
if (hWnd != 0) { //确认查找到句柄 cout << "yes"; RECT rect; //窗口坐标 GetClientRect(hWnd, &rect); //将hWnd进程的窗口坐标读取到rect cout <<"left:" <<rect.left<<endl; cout << "right" << rect.right << endl; cout << "top" << rect.top << endl; cout << "bottom" << rect.bottom << endl; cout << rect.right - rect.left << endl; cout << rect.bottom - rect.top; } else { cout << "no"; } }
rect就是窗口坐标,上下左右都是数字,但是一开始我输出的坐标不对,考虑到可能是因为屏幕缩放125%导致的,网上搜了一下,需要在项目属性里配置一下适配dpi:(参考http://blog.jianchihu.net/vs-build-high-dpi.html)
然后输出上下左右的坐标,应该就是正常的了。
好了,第一天就这么多=-=
哦对,还有一个事,就是这个应用程序有点怪原分辨率是1024768,所以125%后就是1280960,然后程序第一次启动分辨率是默认125%,vs读取到的是1280960,但是程序全屏再窗口化之后就没有125%的效果了,视觉上小了一圈,vs读取到的是1024768。但是如果不设置vs适应dpi,程序125%的时候vs读取到1024*768
相关文章推荐
- VS2008中C++打开Excel(MFC)
- 使用 MFC 串行化数据和 C++ 对象(二)
- C++:实现类似MFC的IsKindOf功能
- 华容道游戏破解C++版(MFC)
- MFC C++类型学习
- mfc c++ 多线程AfxBeginThread 例子( 一)
- c++第一天
- C++--深入分析MFC文档视图结构(项目实践)
- 基于MFC框架的C++游戏开发(五)定时器和简单动画
- MFC- ActiveX编程(孙鑫C++第十八讲笔记整理 )
- C++(MFC)快速计算质数
- 跟我一起学C++课程笔记(第一天)
- C++ MFC / VS2013 之一 单文档应用程序
- c++ MFC 播放音频文件
- C/C++/MFC
- MFC程序XP运行出错c++ runtime debug errror R6010
- C/C++/IOS/Android/MFC/python等软件定制服务,有人需要吗?
- 2019最新《网易云课堂 C++收银系统项目实战教程》 C++开发网吧收银系统(MFC+ADO)
- C++ MFC 其他函数获得主对话框指针并使用成员的方法
- c++ MFC 可改变时区的模拟时钟