(15)微信自动化测试-针对微信主窗体的行为控制

news/2025/2/27 4:22:16

应一位药厂的朋友咨询,他说他想知道如何实现下面的功能,都是针对微信主窗体的一些控制!今天我就给他解惑并安排!

  1. 微信主窗体是否当前处于最小化
  2. 微信主窗体是否隐藏到了系统托盘
  3. 最小化微信主窗体。
  4. 最大化微信主窗体。
  5. 微信主窗体隐藏到系统托盘后恢复到默认状态
  6. 控制微信主窗体移动位置
  7. 设置微信主窗体从失去焦点到恢复焦点

接下来用3个视频演示上面的功能

视频一微信是否最小化,并执行最大化最小化操作

微信最大化最小化操作

视频二设置微信窗体焦点和移动到屏幕某个位置

设置焦点和移动到某个位置

视频三微信是否隐藏到系统托盘并从系统托盘恢复

微信系统托盘操作

以下是演示代码,核心源码比较多,建议收藏联系我获取!

判断微信是否最小化

   private void 是否最小化(object sender, EventArgs e)
   {
       var result = Win32_WindowMin.Do(WXWin32.GetWeiXin());
       if (result)
       {
           MessageBox.Show("微信已最小化");
       }
       else
       {
           MessageBox.Show("微信未最小化");
       }
   }

设置最小化

    private void 最小化(object sender, EventArgs e)
    {
        Win32_SetForegroundWindow.Do(WXWin32.GetWeiXin());
        Win32_ShowWindow.Min(WXWin32.GetWeiXin());
    }

设置最大化

   private void 最大化(object sender, EventArgs e)
   {
       Win32_SetForegroundWindow.Do(WXWin32.GetWeiXin());
       Win32_ShowWindow.Max(WXWin32.GetWeiXin());
   }

微信获得焦点

        private void 设置焦点(object sender, EventArgs e)
        {
            var id = WXWin32.GetWeiXin();
            Win32_SetForegroundWindow.Do(id);
        }

移动微信主窗体到某个位置

   private void 移动窗体到某个位置(object sender, EventArgs e)
   {
       Task.Run(new Action(() =>
       {
           var id = WXWin32.GetWeiXin();

           if (id != IntPtr.Zero)
           {
               Win32_Move_Window.Do(id, 100, 100);
           }
       }));
   }

是否隐藏到系统托盘

     private void 是否隐藏到系统托盘(object sender, EventArgs e)
     {
         var result = !Win32_IsWindowVisible.Do(WXWin32.GetWeiXin());
         if (result)
         {
             MessageBox.Show("微信已隐藏到系统托盘");

         }
         else
         {
             MessageBox.Show("微信未隐藏到系统托盘");
         }
     }

从系统托盘中恢复

     private void 从系统托盘中恢复(object sender, EventArgs e)
     {
         Win32_SetForegroundWindow.Do(WXWin32.GetWeiXin());
         Win32_ShowWindow.Normal(WXWin32.GetWeiXin());

     }

如果读者对上述文章存在不清晰的地方可以找本人获取运行源码来学习,QQ 978124155

上一篇 (14)微信自动化测试-针对微信控件元素截图操作


http://www.niftyadmin.cn/n/5305215.html

相关文章

Android跨进程渲染

文章目录 背景实现步骤服务端客户端参考代码 背景 2024年第一篇博客,希望所有看到这篇博客的同学都能财务自由,早日退休! 跨进程渲染就是在服务端进程渲染,在客户端进程显示。在一些 3d 的应用场景,当多个应用需要显…

DVenom:一款功能强大的Shellcode加密封装和加载工具

关于DVenom DVenom是一款功能强大的Shellcode加密封装和加载工具,该工具专为红队研究人员设计,可以帮助红队成员通过对Shellcode执行加密封装和加载实现反病毒产品的安全检测绕过。 功能介绍 1、支持绕过某些热门反病毒产品; 2、提供了多种…

基于ssm校园线上订餐系统的设计与实现论文

摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古…

亲授秘籍!独立站推广神级攻略,不信你试试?

在电商市场竞争激烈的今天,对于跨境电商卖家而言,有效推广独立站已经成为了一项关键任务。为了提升品牌知名度和吸引更多的潜在客户,我们需要不断探索新的推广方式和策略。在本文中,龙哥将分享一些成功的推广经验,以下…

游戏Lua调用01.lua的编译及测试

一、lua库下载与编译 进入lua官网 Lua: version history 找到lua5.1 选择lua5.1是因为大部分游戏使用的都是lua5.1的库,也可以选择高版本,影响不大 下载完了后使用vs建立一个静态库或者动态库的工程 这里以动态库为例子,静态库也是一样的…

【Python】dbf文件批量合成excel

我有一个文件夹,内含多个dbf文件,现在要合成一个excel。 前提:安装os、pandas、dbfread、openpyxl包 import os import pandas as pd from dbfread import DBF# 指定包含dbf文件的文件夹路径 folder_path r"J:\sta"# 初始化一个空…

blender mix节点和它的混合模式

Mix 节点是一种用于混合两个颜色或者两个图像的节点,它有以下几个输入和输出: Color1:用于接收第一个颜色或者图像,也就是基色。Color2:用于接收第二个颜色或者图像,也就是混合色。Fac:用于控制…

开启物联网的魔法之门 - 深入探索发布/订阅模式

文章目录 MQTT 发布/订阅模式MQTT 发布/订阅中的消息路由MQTT 与 HTTP 请求响应MQTT 与消息队列Paho Java 使用示例结语 MQTT 发布/订阅模式 发布订阅模式(Publish-Subscribe Pattern)是一种消息传递模式,它将发送消息的客户端(发…