(3)采用热键终止微信采集任务-微信UI自动化(.Net+C#)

 整理 | 小耕家的喵大仙

出品 | CSDN(ID:lichao19897314)

Q Q | 978124155

 往期知识回顾: 

(1)C#开启探索微信自动化之路-微信UI自动化

(2)C#创建微信窗体自动化实例-微信UI自动化

(3)C#针对系统热键管理-微信UI自动化

(4)C#采集微信通讯录和联系人-微信UI自动化

(5)C#实现针对微信窗体鼠标静默点击-微信UI自动化

(6)C#搜索微信通讯录联系人-微信UI自动化

(7)C#实现微信消息群发-微信UI自动化

(8)C#监控微信进程运行状态-微信UI自动化

(9)C#监控微信网络连接状态-微信UI自动化

(11)C#实现微信窗体尺寸跟随调整-微信UI自动化

(12)C#采集微信聊天记录及历史消息-微信UI自动化

(13)C#实现自动回复微信消息-微信UI自动化

(14)C#针对微信界面元素截图操作-微信UI自动化

(15)C#实现对微信窗体的行为管控-微信UI自动化

(16)C#实现微信多开-微信UI自动化

(17)C#实现微信聊天文件接收及下载-微信UI自动化

👆 以上文章是以往对使用自动化技术操作微信的一些文章及案例!!!!

因为文章可能无法满足读者要求,如需源码和支持请联系本人QQ 978124155 

本篇目的     

    我们对微信UI自动化操作或者其它软件UI自动化操作之前,因为一些任务比如“采集微信通讯录”和“群发消息”,“获取微信聊天记录”等执行可能比较耗时,并且会导致被控制方软件窗体长期获得焦点导致我们对其它软件失去控制权,所以我们需要使用热键的方式将自动化任务停止。本文中采用热键是Ctrl+F8。

实现思路

(1)定义热键注册管理类

 这个类定义了注册热键,捕获热键消息,注销热键的基本功能。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace OnlineRetailers.Extension.Page.UIAuto.Business
{
    /// <summary>
    /// 热键管理
    /// </summary>
    public class WinHotKey
    {
        /// <summary>
        /// 注册热键
         /// </summary>
        /// <param name="hWnd">为窗口句柄</param>
        /// <param name="id">注册的热键识别ID</param>
        /// <param name="control">组合键代码  Alt的值为1,Ctrl的值为2,Shift的值为4,Shift+Alt组合键为5
        ///  Shift+Alt+Ctrl组合键为7,Windows键的值为8
        /// </param>
        /// <param name="vk">按键枚举</param>
        /// <returns></returns>
        [DllImport("user32")]
        static extern bool RegisterHotKey(IntPtr hWnd, int id, uint control, Keys vk);

        /// <summary>
        /// 取消注册的热键
        /// </summary>
        /// <param name="hWnd">窗口句柄</param>
        /// <param name="id">注册的热键id</param>
        /// <returns></returns>
        [DllImport("user32")]
        static extern bool UnregisterHotKey(IntPtr hWnd, int id);

        /// <summary>
        /// 任务停止热键
        /// </summary>
        /// <param name="Handle"></param>
        public static void RegisterStop(IntPtr Handle)
        {
            WinHotKey.RegisterHotKey(Handle, StopId, 2, Keys.F8);
        }
        /// <summary>
        /// 取消停止热键
        /// </summary>
        /// <param name="Handle"></param>
        public static void UnRegisterStop(IntPtr Handle)
        {
            WinHotKey.UnregisterHotKey(Handle, StopId);
        }
        /// <summary>
        /// 停止ID
        /// </summary>
        public static readonly int StopId = 8879;
    }
}

 (2)主窗体调用注册热键,执行热键方法和注销热键

在我们测试软件的主窗体Load事件中注册热键,将窗体的句柄传递给热键管理类,那么热键被激活时则会通过win消息的方式通知本窗体。

     this.Load += WXUIAuto_Load;
     private void WXUIAuto_Load(object sender, EventArgs e)
        {  
          WinHotKey.RegisterStop(this.Handle); 
        }

注册了热键事件后我们需要定义方法来监听热键的事件,From窗体中提供了处理消息WndProc方法,我们重写这个方法,并加入自己的逻辑。

 protected override void WndProc(ref Message m)
        {
            switch (m.Msg)
            {
                case 0x0312:                                 
                    if (m.WParam.ToString().Equals(WinHotKey.StopId.ToString()))    
                    {
                        //停止微信自动化任务
                    }
                    break;
            }
            base.WndProc(ref m);
        }

0x0312是热键的消息类型,消息参数是我们自己定义的,如果热键的消息参数等于停止的ID 8897就停止微信自动化任务。

在窗体关闭事件中注销事件,确保资源的释放和安全。

 this.FormClosed += WXUIAuto_FormClosed;
 private void WXUIAuto_FormClosed(object sender, FormClosedEventArgs e)
        {
            WinHotKey.UnRegisterStop(this.Handle);
        }

上一篇 (2)C#创建微信窗体自动化实例-微信UI自动化icon-default.png?t=N7T8https://blog.csdn.net/lichao19897314/article/details/122719767

下一篇 (4)C#采集微信通讯录和联系人-微信UI自动化icon-default.png?t=N7T8https://blog.csdn.net/lichao19897314/article/details/122823991

因为文章可能无法满足读者要求,如需源码和支持请联系本人QQ 978124155 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一些 C# 编写 CAD 软件时常用的热键: - F1:打开帮助文档 - Ctrl + N:新建图形 - Ctrl + O:打开图形文件 - Ctrl + S:保存图形文件 - Ctrl + Shift + S:另存为图形文件 - Ctrl + Z:撤销上一步操作 - Ctrl + Y:重做上一步撤销的操作 - Ctrl + A:选择所有对象 - Ctrl + C:复制选定对象 - Ctrl + X:剪切选定对象 - Ctrl + V:粘贴剪切板中的对象 - Ctrl + D:复制选定对象并创建副本 - Ctrl + Shift + D:移动选定对象并创建副本 - Ctrl + E:显示实体属性 - Ctrl + Shift + E:修改实体属性 - Ctrl + G:显示网格 - Ctrl + Shift + G:设置网格距离 - Ctrl + H:隐藏选定对象 - Ctrl + Shift + H:取消隐藏对象 - Ctrl + J:连接两个对象 - Ctrl + Shift + J:断开两个对象的连接 - Ctrl + K:锁定选定对象 - Ctrl + Shift + K:解除锁定对象 - Ctrl + L:显示图层管理器 - Ctrl + Shift + L:设置图层属性 - Ctrl + M:显示命令窗口 - Ctrl + Shift + M:显示脚本编辑器 - Ctrl + P:打印图形 - Ctrl + Q:退出 CAD 软件 - Ctrl + R:刷新视图 - Ctrl + Shift + R:重绘图形 - Ctrl + T:移动选定对象 - Ctrl + Shift + T:旋转选定对象 - Ctrl + U:显示单位设置 - Ctrl + Shift + U:设置单位 - Ctrl + V:粘贴选定对象 - Ctrl + Shift + V:粘贴为块 - Ctrl + W:关闭当前图形窗口 - Ctrl + Shift + W:关闭所有图形窗口 - Ctrl + Z:撤销上一步操作 - Ctrl + Shift + Z:重做上一步撤销的操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小耕家的喵大仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值