WinForm自动化测试工具开发札记(3)

本文介绍了在WinForm自动化测试中如何捕捉窗口的技术,通过C#调用Win32 API实现。作者分享了获取当前鼠标位置窗口标题的代码示例,探讨了在.NET中处理Win32数据类型的方法,特别是指针转换的问题,以及在处理[out]参数时的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

技术攻关
        从今天开始准备P0中所需技术的Demo,有了Demo就知道原理了,正式开始写的时候就没那么头大了.   

捕捉窗口的技术
        目的:得到当前鼠标位置是哪个窗口.
        以前学过一点点Win32,知道在Windows操作系统中,所有你见到的东西--无论是窗体还是控件,都是"窗口",是窗口,就会与一个WindowClass相关联.这个WindowClass,虽然有Class字样,但要注意,Win32编程用的是C语言,所以不是OO中的那个Class.
        下班前,照着书写了一个小程序,把代码贴在下面,大家可以自己运行一下.运行的时候,把鼠标四处移动一下.这个程序会以每秒一次的速率捕捉当前鼠标所指的窗口,并将窗口的标题(如果有)输出到命令行.

//------水之真谛
//------http://blog.youkuaiyun.com/FantasiaX

using
System;
using System.Text;
using System.Threading;
using System.Runtime.InteropServices;

namespace RnP
{
    [StructLayout(LayoutKind.Sequential)]
    public struct Win32Point
    {
        public int x;
        public int y;
    }


    class Program
    {
        [

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值