发布于2021-05-30 18:29 阅读(469) 评论(0) 点赞(27) 收藏(3)
想写个简单辅助,开始。。。。虽然大概率坚持不到最后,不过好歹先记录一下
使用软件: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
原文链接:https://blog.csdn.net/weixin_43873389/article/details/117308009
作者:龙膜授权
链接:http://www.phpheidong.com/blog/article/86677/bc46e7d81ca40e7c5ab2/
来源:php黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 php黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-4
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!