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

做科技汽车的视频网站有哪些十大电商代运营公司

做科技汽车的视频网站有哪些,十大电商代运营公司,域名解析步骤,太原关键词优化软件Qt/C 获取QProcess启动的第三方软件的窗体标题,在使用EnumWindows获取窗体句柄(HWND)时,如果返回提前FALSE,则获取到的HWND状态IsWindow正常,但就是获取不到窗体标题。必须正常返回TRUE才能使用HWND获取到窗体标题,要不…

Qt/C++ 获取QProcess启动的第三方软件的窗体标题,在使用EnumWindows获取窗体句柄(HWND)时,如果返回提前FALSE,则获取到的HWND状态IsWindow正常,但就是获取不到窗体标题。必须正常返回TRUE才能使用HWND获取到窗体标题,要不然获取到的标题内容就是空。

QProcess线程需要在启动后等待几秒的时间再获取打开的窗体句柄,或者一直While(true)获取窗体句柄直到获取HWND不为空为止。

目录

    • 使用EnumWindows获取所有窗体句柄和PID
      • 写法1
      • 写法2
    • 获取窗体标题
      • 使用 GetWindowTextA 获取窗体标题
      • 使用 SendMessage获取窗体标题
      • 使用 DefWindowProcA获取窗体标题
      • 使用 GetClassNameA获取窗体类名称
    • 使用FindWindowEx获取窗体句柄

使用EnumWindows获取所有窗体句柄和PID

写法1

static HWND GHO_HWMD_C=nullptr;
static BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam)
{DWORD processId;GetWindowThreadProcessId(hwnd, &processId);if (processId == (DWORD)lParam){GHO_HWMD_C=hwnd;}///必须返回true 如果返回false 会造成HWND不能获取窗体标题,修改窗体隐藏等属性return TRUE;
}static BOOL CALLBACK EnumThreadChildProc(HWND hwnd, LPARAM lParam)
{DWORD processId;GetWindowThreadProcessId(hwnd, &processId);if (processId == (DWORD)lParam){GHO_HWMD_C=hwnd;}///必须返回true 如果返回false 会造成HWND不能获取窗体标题,修改窗体隐藏等属性return TRUE;
}static BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{DWORD processId;GetWindowThreadProcessId(hwnd, &processId);if (processId == (DWORD)lParam){GHO_HWMD_C=hwnd;}///必须返回true 如果返回false 会造成HWND不能获取窗体标题,修改窗体隐藏等属性return TRUE;EnumChildWindows(hwnd, EnumChildProc, lParam);EnumThreadWindows(processId,EnumThreadChildProc, lParam);
}//在所有线程中查找pid
//process.processId(); QProcess类processId()返回pid
EnumWindows(EnumWindowsProc, (LPARAM)process.processId());

写法2

EnumWindows([](HWND hwndparent, LPARAM lParam)->BOOL{DWORD processId = 0;GetWindowThreadProcessId(hwndparent, &processId);if (processId == (DWORD)lParam){GHO_HWMD_C=hwnd;}EnumChildWindows(hwndparent,[](HWND Chwnd, LPARAM lParam)->BOOL{DWORD CprocessId = 0;GetWindowThreadProcessId(Chwnd, &CprocessId);if (CprocessId == (DWORD)lParam){GHO_HWMD_C=hwnd;}return TRUE; // 返回TRUE以继续枚举下一个窗体},lParam);EnumThreadWindows(processId,[](HWND Thwnd, LPARAM lParam)->BOOL{DWORD TprocessId = 0;GetWindowThreadProcessId(Thwnd, &TprocessId);if (TprocessId == (DWORD)lParam){GHO_HWMD_C=hwnd;}return TRUE; // 返回TRUE以继续枚举下一个窗体},lParam);return TRUE; // 返回TRUE以继续枚举下一个窗体},(LPARAM)process.processId());

获取窗体标题

使用 GetWindowTextA 获取窗体标题

char WindowText[256];
GetWindowTextA(GHO_HWMD_C, WindowText, sizeof(WindowText));
qDebug() << "Window title Text: " << QString::fromUtf8(WindowText);

使用 SendMessage获取窗体标题

WCHAR WindowsTitle[MAX_PATH];
if(SendMessageW(GHO_HWMD_C, WM_GETTEXT, MAX_PATH, (LPARAM)WindowsTitle)>0)qDebug() <<QString::fromWCharArray(WindowsTitle);//const int bufferSize = 256;//char buffer[bufferSize];//SendMessageA(GHO_HWMD_C, WM_GETTEXT, bufferSize, (LPARAM)buffer)

使用 DefWindowProcA获取窗体标题

int len = SendMessageA(GHO_HWMD_C, WM_GETTEXTLENGTH, 0, 0) + 1;
// new一块len大小的内存
char *title = new char(len);
// 初始化内存为0
memset(title, 0, len);
// 发送WM_GETTEXT消息获取控件文本
DefWindowProcA(GHO_HWMD_C, WM_GETTEXT, 1024, (LPARAM)title);

使用 GetClassNameA获取窗体类名称

char className[256];
GetClassNameA(GHO_HWMD_C, className, sizeof(className));
qDebug() << "Window class name: " << QString::fromUtf8(className);

使用FindWindowEx获取窗体句柄

/*! https://linuxcpp.0voice.com/?id=132468*/
/*!
int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);QProcess process;process.start("path/to/your/executable");if (process.waitForStarted()){// 获取进程IDDWORD pid = process.processId();// 获取进程主窗口句柄HWND hwnd = nullptr;do{hwnd = FindWindowEx(nullptr, hwnd, nullptr, nullptr);DWORD windowPid;GetWindowThreadProcessId(hwnd, &windowPid);if (windowPid == pid){// 获取窗口类名char className[256];GetClassName(hwnd, className, sizeof(className));qDebug() << "Window class name: " << QString::fromUtf8(className);break;}} while (hwnd != nullptr);process.waitForFinished();}return a.exec();
}*/
http://www.yayakq.cn/news/74939/

相关文章:

  • 贵州公司网站开发万能站工具的企业网站系统
  • 设计素材网站推荐ppt做得好的企业网站
  • 有知道做网站的吗上海网站建设 网站制作
  • 兰州做网站公司有哪些公司网页设计价格多少
  • 公司网站的重要性专业做网站哪家好
  • 做毕业设计个人网站任务书完整开发网站需要什么
  • 番禺低价网站建设注册公司的好处和坏处
  • 网站建设技术教程做视频网站的备案要求吗
  • 假如做网站推广如何推广适合女生的长久职业
  • 建设网站的目标客户群wordpress 获取category
  • 怎么导入网站源码wordpress 文章太多
  • 织梦网站会员中心模板朝阳区seo搜索引擎优化怎么样
  • 网站怎么没有排名哪个网站做美食自媒体更好
  • 织梦手机网站有广告宁波网站建设公司网络推广
  • 做投标的在什么网站找信息信息流广告的三个特点
  • 电子商务网站特点软件开发文档包含哪些文档
  • 丹东做网站的在线收录
  • 加强政务门户网站建设网店装修
  • 搬瓦工做网站方法软文范文大全
  • 如何做网站截流wordpress网站加入商城
  • 网站建设实训 课程标准网站设计中的用户体验
  • 中国建设银行员工网站北京微信网站制作
  • wordpress 调用搜索词有什么办法可以在备案期间网站不影响seo
  • 建网站 深圳广州公司注册场地要求
  • 中国建设教育协会网站查wordpress主题发布站源码
  • 中山企业手机网站建设iis默认网站路径
  • 建设网站 万网法人变更流程
  • 电子商务网站建设论文摘要免费的模板网站
  • 用手机制作自己的网站网站做专题页面
  • 网站建设 上海浦东做网站通过什么挣钱