当前位置: 首页 > wzjs >正文

企业如何找网络公司做网站任丘做网站价格

企业如何找网络公司做网站,任丘做网站价格,花都区营销型网站建设,阳东区网络问政平台为实现在 VS2015 的 Qt 开发环境下打开外部 exe&#xff0c;列出其界面按钮控件的序号与文本名&#xff0c;然后点击包含特定文本的按钮控件。以下是更新后的代码&#xff1a; #include <QCoreApplication> #include <QProcess> #include <QDebug> #include…

为实现在 VS2015 的 Qt 开发环境下打开外部 exe,列出其界面按钮控件的序号与文本名,然后点击包含特定文本的按钮控件。以下是更新后的代码:

#include <QCoreApplication>
#include <QProcess>
#include <QDebug>
#include <windows.h>
#include <QString>
#include <vector>// 查找窗口句柄
HWND findWindowByTitle(const QString& title) {return FindWindow(nullptr, title.toStdWString().c_str());
}// 枚举子窗口并收集按钮句柄
BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam) {wchar_t className[256];GetClassNameW(hwnd, className, sizeof(className) / sizeof(wchar_t));if (wcscmp(className, L"Button") == 0) {std::vector<HWND>* buttons = reinterpret_cast<std::vector<HWND>*>(lParam);buttons->push_back(hwnd);}return TRUE;
}// 模拟鼠标点击
void simulateClick(HWND hwnd, int x, int y) {PostMessage(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(x, y));PostMessage(hwnd, WM_LBUTTONUP, 0, MAKELPARAM(x, y));
}int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);// 启动外部 exeQProcess process;process.start("C:\\Path\\To\\YourProgram.exe");if (!process.waitForStarted()) {qDebug() << "Failed to start the external program.";return -1;}// 等待一段时间,让外部程序的窗口完全打开QThread::sleep(5);// 查找外部程序的主窗口HWND mainWindow = findWindowByTitle("Your Program Title");if (mainWindow == nullptr) {qDebug() << "Could not find the main window of the external program.";return -1;}// 枚举子窗口,收集按钮句柄std::vector<HWND> buttons;EnumChildWindows(mainWindow, EnumChildProc, reinterpret_cast<LPARAM>(&buttons));if (buttons.size() < 3) {qDebug() << "There are not enough buttons in the external program window.";return -1;}// 获取第 3 个按钮的句柄HWND targetButton = buttons[2];// 获取目标按钮的位置和大小RECT rect;GetWindowRect(targetButton, &rect);// 计算按钮中心位置int centerX = (rect.left + rect.right) / 2;int centerY = (rect.top + rect.bottom) / 2;// 模拟点击目标按钮simulateClick(targetButton, centerX - rect.left, centerY - rect.top);return a.exec();
}    

代码解释

  1. EnumChildProc 回调函数:此函数枚举主窗口的子窗口,当找到类名为 "Button" 的控件时,获取其文本内容,并将按钮句柄和文本作为一个 std::pair 存储在向量中。
  2. 主函数流程
    • 使用 QProcess 启动外部 exe。
    • 等待一段时间,确保外部程序的窗口完全打开。
    • 查找外部程序的主窗口。
    • 调用 EnumChildWindows 枚举子窗口,收集按钮句柄和文本。
    • 列出所有按钮的序号和文本。
    • 查找包含特定文本的按钮。
    • 若找到目标按钮,计算其中心位置并模拟点击操作。
      在这里插入图片描述

注意事项

  • 需将 "C:\\Path\\To\\YourProgram.exe" 替换为实际的外部可执行文件路径。
  • 需将 "Your Program Title" 替换为实际的外部程序窗口标题。
  • 需将 "Your Target Button Text" 替换为要点击的按钮的特定文本。
  • 等待时间(QThread::sleep(5))可根据外部程序的启动速度进行调整。
http://www.dtcms.com/wzjs/556944.html

相关文章:

  • 平顶山做网站哪家好高新手机网站建设价格
  • 网站建设预期达到的效果怎么给网站做懒加载
  • php电影网站开发长沙房价走势最新消息
  • 网站图片上的水印怎么做关于单位网站建设的请示
  • 口腔网站建设帝国cms 网站地图插件
  • 网站建设工程师培训威海住房建设局网站
  • 电器网站建设策划书查看网站是什么语言做的
  • 网站备案是 备案空间吗在线 代理 输入网址
  • 网站开发数据库设计衡阳网站建设价格
  • 西安网站制作开发公司如何创办一个公众号
  • 个人网站制作总体设计设计网站大全免费下载
  • 搜索引擎技术基础seo有什么作用
  • 网站做加QQ群链接杭州招标信息网
  • 浅议我国旅游景点网站的建设最好的编程培训机构
  • 网站的支付系统怎么做的做昆特牌的网站
  • 网站规划建设与管理维护教程与实训网站改版对网站优化影响最大的问题是什么
  • 免费查企业电话网站wordpress文章评论数
  • 化妆品网站系统规划如今做哪些网站致富
  • 先网站开发后软件开发做一个企业的网站怎么做的
  • 柯林建站程序合肥网站排名提升
  • 标志设计公司网站做网站一般都是那些人 会做
  • 宣城市政建设集团有限公司网站旅行社网站建设规划方案
  • 重庆平台网站建设工作建设游戏网站的步邹
  • 黄岛开发区网站制作成功的网络营销事件有哪些
  • wordpress4.9.8火车头建站到网站收录到优化
  • 如何使用表格做网站天津网站制作工具
  • 住房住房和城乡建设部网站首页phpstudy怎么做网站
  • 东莞设计网站网站是什么时候出现的
  • 建设企业查询网站seo教程
  • 好看的网站设计网站网站空间购买北京