实例介绍
【实例简介】C 改变窗口大小。
【实例截图】无
【实例截图】无
【核心代码】无
#include <windows.h> #include <iostream> #define IsKeyDown(VK_NAME) ((GetAsyncKeyState(VK_NAME) & 0x8000) ? true:false) int main() { POINT point; // 鼠标所在位置 HWND target; // 目标窗口句柄 HWND parent; // 目标父窗口句柄 INT width, height; // 窗口新宽高 // 软件用法 std::cout << "\n功能:设置目标窗口的大小\n\n"; std::cout << "用法:输入参数后,将鼠标移到要设置的窗口上,然后按下 Ctrl 键 1 秒钟即可\n"; std::cout << " 按下 Shift 键可重新输入\n"; std::cout << " 按下 Alt 键可退出程序\n"; BOOL start = true; // 是否开始循环 while(start) { std::cout << "\n请输入窗口宽度:"; std::cin >> width; std::cout << "请输入窗口高度:"; std::cin >> height; std::cout << "\n移动鼠标,然后按键(Ctrl/Shift/Alt)...\n"; BOOL listen = true; // 是否开始监听用户按键 while (listen) { // Ctrl 键确认窗口 if IsKeyDown(VK_CONTROL) { // 获取鼠标位置 GetCursorPos(&point); // 获取鼠标位置的窗口句柄 target = WindowFromPoint(point); // 合法性判断 if (target != NULL && target != INVALID_HANDLE_VALUE) { // 获取顶层窗口句柄 parent = GetParent(target); while (parent != NULL && parent != INVALID_HANDLE_VALUE) { target = parent; parent = GetParent(target); } // 获取窗口原始大小 RECT rect; GetWindowRect(target, &rect); // 重新设置窗口大小 MoveWindow(target, rect.left, rect.top, width, height, true); // 停止监听 listen = false; } } // Shift 键停止监听 else if (IsKeyDown(VK_SHIFT)) { listen = false; } // Alt 键退出程序 else if (IsKeyDown(VK_MENU)) { listen = false; start = false; } Sleep(200); } std::cout << "\n----------\n"; } return 0; }
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论