zoukankan      html  css  js  c++  java
  • [原创]C#应用WindowsApi实现查找(FindWindowEx)文本框(TextBox、TextEdit)。

    /// <summary>
    /// 获取文本框控件
    /// </summary>
    /// <param name="hwnd">文本框所在父窗口</param>
    /// <param name="text">文本框文本,null为搜索所有</param>
    /// <param name="iLevel">父窗口上第几个文本框</param>
    /// <returns>文本框句柄</returns>
    private IntPtr GetTextEdit(IntPtr hwnd,string text, int iLevel)
    {
    IntPtr iEditor = IntPtr.Zero;
    IntPtr iCode = IntPtr.Zero;
    if (hwnd != IntPtr.Zero)
    {
    for (int i = 0; i < iLevel; i++)
    {
    iCode = WindowsApi.FindWindowEx(hwnd, iCode, "WindowsForms10.Window.b.app.0.bf7771_r13_ad1", "");
    if (iCode == IntPtr.Zero)
    break;
    }
    if (iCode != IntPtr.Zero)
    iEditor = WindowsApi.FindWindowEx(iCode, IntPtr.Zero, "WindowsForms10.EDIT.app.0.bf7771_r13_ad1", text);
    }
    return iEditor;
    }

    说明:

    "WindowsForms10.EDIT.app.0.bf7771_r13_ad1" 文本框类型,可以通过Spy++工具查看,如下图

    文本框都有一个父类,如代码中"WindowsForms10.EDIT.app.0.bf7771_r13_ad1",即为文本框的父类类型,要先找到第几个文本框的父类,再从父类中查找当前文本框。

    如果"WindowsForms10.EDIT.app.0.bf7771_r13_ad1"会发生变化,则传入null即可,意思是按照所有类型遍历,这时候“第几个”要做相应的变更。

  • 相关阅读:
    Git基本操作(Windows下)
    Git for Windows安装和基本设置
    OpenCV 2.4.3在VS2010上的应用
    VS2010安装Visual Assist
    django中表单处理
    django自定义错误响应
    django的url配置
    django模板语言
    zabbix利用api批量添加item,并且批量配置添加graph
    高性能集群软件Keepalived(1)
  • 原文地址:https://www.cnblogs.com/hehexiaoxia/p/4224568.html
Copyright © 2011-2022 走看看