zoukankan      html  css  js  c++  java
  • 当GetWindowText获取不到标题时可以用SendMessage

    GetWindowText所有父窗口标题基本可以获取到,

    但是当获取父窗口下的子窗口控件标题文本时有时候就没那么好用了,

    这个时候可以通过SendMessage发送消息来获取,也很简单,C/C++代码贴出来:

     1 #include <iostream>
     2 #include <Windows.h>
     3 
     4 using namespace std;
     5 
     6 char* GetWndText(HWND hWnd);
     7 
     8 int main(void)
     9 {
    10     // 演示使用的一个画板的句柄
    11     HWND hPaint = (HWND)0x1E079E;
    12     cout << GetWndText(hPaint) << endl;
    13     system("pause");
    14     return 0;
    15 }
    16 
    17 char* GetWndText(HWND hWnd)
    18 {
    19     // 发送WM_GETTEXTLENGTH消息获取控件文本长度
    20     int len = SendMessageA(hWnd, WM_GETTEXTLENGTH, 0, 0) + 1;
    21     // new一块len大小的内存
    22     char *title = new char(len);
    23     // 初始化内存为0
    24     memset(title, 0, len);
    25     // 发送WM_GETTEXT消息获取控件文本
    26     SendMessageA(hWnd, WM_GETTEXT, len, (LPARAM)title);
    27     return title;
    28 }

    效果图:

  • 相关阅读:
    18软工实践-第三次作业-结对项目1
    结对作业之代码规范
    ALPHA(7)
    ALPHA(6)
    ALPHA(五)
    404 Note Found 现场编程
    ALPHA(四)
    ALPHA冲刺(三)
    ALpha冲刺(二)
    ALPHA 冲刺(一)
  • 原文地址:https://www.cnblogs.com/biaoge140/p/10861805.html
Copyright © 2011-2022 走看看