.net
文章平均质量分 82
小耕家的喵大仙
UI自动化测试研究 针对微信 QQ 爬虫爱好者
展开
-
(21)批量删除微信联系人-微信UI自动化(.Net+C#)
关闭通讯录管理面板整理 | 小耕家的喵大仙出品 | CSDN(ID:lichao19897314)Q Q |原创 2024-04-24 21:32:34 · 863 阅读 · 0 评论 -
(19)批量添加微信好友-微信UI自动化(.Net+C#)
我经过沟通整理的需求如下,通过微信的添加朋友按钮切换搜索微信号界面,自动填写需要搜索微信号,如果存在账号,则点击“添加到通讯录”,弹出申请添加朋友界面,自动填写“发送添加朋友申请”,“备注名”,“标签”这些常规信息后点击确认按钮完成申请好友的操作。执行添加好友任务完毕后会有相对应的结果反馈,如果出现微信号不存在,操作频率过高,UI自动化元素操作失败等也会出现对应的日志提示,供后期排查和完善。控制"申请添加朋友"窗体的基类,设置“发送添加朋友申请”,“备注名”,“标签”,“确定”的值和点击事件。原创 2024-03-21 12:00:03 · 966 阅读 · 0 评论 -
(17)采集下载微信聊天信息中的文件-微信UI自动化(.Net+C#)
一位做工程建筑类的朋友通过博客咨询我,他说他平时工作微信消息中文档特别多,每天他需要花费很多时间进行收集和整理。所以他咨询我是否能自动判断聊天消息是否为文件,如果是文件的话就将文件名称,大小,文档所在路径提取出来,并按照一定的业务进行整理归档。本视频内容针对监听通讯录中的某一位或者多为联系人,自动分析消息是否是文件并在文件完成下载后显示下载已完成。软件开启监听文件的功能,并显示有新文件到达,将文件名称,大小,存储路径,是否完成下载归档等信息输出。经过验证,能满足建筑师朋友的需求。原创 2024-03-13 21:40:13 · 480 阅读 · 0 评论 -
(11)实现微信窗体尺寸跟随自动调整-微信UI自动化(.Net+C#)
微信定时发消息原创 2023-03-25 10:33:22 · 758 阅读 · 1 评论 -
(10)实现微信窗体自动跟随移动-微信UI自动化(.Net+C#)
微信定时发消息原创 2023-03-25 10:14:44 · 745 阅读 · 0 评论 -
(9)监控微信网络连接状态-微信UI自动化(.Net+C#)
微信定时发消息原创 2023-03-25 09:44:21 · 687 阅读 · 0 评论 -
(8)监控微信进程运行状态-微信UI自动化(.Net+C#)
微信定时发消息原创 2023-03-25 09:29:51 · 1428 阅读 · 0 评论 -
VUE+Ant Design Vue+.Net Core搭建后台框架-(10)系统登录
VUE+Ant Design Vue+.Net Core搭建后台框架原创 2022-03-01 14:40:19 · 898 阅读 · 2 评论 -
VUE+Ant Design Vue+.Net Core搭建后台框架-(9)VUE组件导入和配置
VUE+Ant Design Vue+.Net Core搭建后台框架原创 2022-03-01 14:40:05 · 975 阅读 · 0 评论 -
VUE+Ant Design Vue+.Net Core搭建后台框架-(8)定义系统菜单数据
VUE+Ant Design Vue+.Net Core搭建后台框架-(6)结合JWT实现自定义认证原创 2022-03-01 14:39:59 · 813 阅读 · 0 评论 -
VUE+Ant Design Vue+.Net Core搭建后台框架-(7)结合JWT实现访问自定义授权
VUE+Ant Design Vue+.Net Core搭建后台框架原创 2022-03-01 14:39:50 · 903 阅读 · 0 评论 -
VUE+Ant Design Vue+.Net Core搭建后台框架-(6)结合JWT实现自定义认证
VUE+Ant Design Vue+.Net Core搭建后台框架原创 2022-03-01 14:39:44 · 892 阅读 · 0 评论 -
VUE+Ant Design Vue+.Net Core搭建后台框架-(5)配置JWT认证
VUE+Ant Design Vue+.Net Core搭建后台框架原创 2022-03-01 14:39:39 · 625 阅读 · 0 评论 -
VUE+Ant Design Vue+.Net Core搭建后台框架-(4)后台项目创建
进行前端搭建工作之前,我们先把准备好后台数据接口。asp.net core项目创建项目名称我们可以随意编辑一个我们使用.net5作为目标框架,.net core3.0以后就不叫core了 叫.net5.0了创建好项目JWT组件管理在刚刚创建好的项目右键点击管理NUGet程序包我们在浏览界面 查找JWTbearer,点击安装即可,注意我们的项目是使用.net5.0那么我们jwt版本请选择5.0.14后台项目我们就搭建好了并且将需要的组件也配置好.原创 2022-03-01 14:39:34 · 1195 阅读 · 1 评论 -
VUE+Ant Design Vue+.Net Core搭建后台框架-(3)引入组件
VUE+Ant Design Vue+.Net Core搭建后台框架原创 2022-03-01 14:39:23 · 1027 阅读 · 0 评论 -
VUE+Ant Design Vue+.Net Core搭建后台框架-(2)搭建VUE项目
VUE+Ant Design Vue+.Net Core搭建后台框架原创 2022-03-01 14:39:06 · 1016 阅读 · 0 评论 -
VUE+Ant Design Vue+.Net Core搭建后台框架-(1)效果展示
VUE+Ant Design Vue+.Net Core3剑客结合快速搭建一套后台框架原创 2022-03-01 14:38:52 · 1188 阅读 · 0 评论 -
(6)搜索特定微信通讯录联系人-微信UI自动化(.Net+C#)
我们在发送消息给某个联系人之前,我们要进行的工作就是先找到某个联系人,在微信UI自动化的过程中我们如何搜索指定联系人呢?既然是UI自动化,那么我们这里肯定是利用微信程序的搜索功能来实现联系人的查找。先上图看效果????搜索联系人效果我们先掌握搜索联系人逻辑(1)寻找微信搜索文本框控件元素 我们通过窗体控件对象树寻找到搜索文本框的窗体路径为/Pane[2]/Pane[2]/Pane[1]/Pane/Pane/Edit,通过下方代码找到搜索框元素 if(Search==n...原创 2022-02-16 14:30:03 · 2838 阅读 · 5 评论 -
(5)实现对微信窗体元素静默操作-微信UI自动化(.Net+C#)
上文我们进行了联系人采集的工作, 最开始如果我用了FLAUI中的鼠标模拟方法,发现鼠标光标会跟随我们的调用而移动位置,那么我们能不能不移动鼠标而进行点击呢? 答案是肯定的,我们通过模拟WIN消息来实现!接下来我们就开始实现静默鼠标点击(1)定义WINDOW发送消息的函数 我们寻找FLAUI组件,发现在FLAUI中已经定义好win发送消息的函数和消息类型,就直接拿了用了!FlaUI.Core.WindowsAPI.User32中定义了很多常用的win...原创 2022-02-16 13:48:27 · 3380 阅读 · 8 评论 -
C#【EF Core框架】实现高效查询
上一篇 C#【EF Core框架】进行数据库事务处理正确使用索引查询能否快速运行的主要决定因素是它是否在恰当的位置使用索引:数据库通常用于保存大量数据,而遍历整个表的查询往往是严重性能问题的根源。 索引问题不容易发现,因为给定的查询是否会使用索引并不是显而易见的。 例如:// Matches on start, so uses an index (on SQL Server)var posts1 = context.Posts.Where(p => p.Title.StartsWith原创 2022-02-11 15:51:33 · 3695 阅读 · 0 评论 -
C#【EF Core框架】进行数据库事务处理
使用事务事务允许以原子方式处理多个数据库操作。 如果已提交事务,则所有操作都会成功应用到数据库。 如果已回滚事务,则所有操作都不会应用到数据库。默认事务行为默认情况下,如果数据库提供程序支持事务,则会在事务中应用对SaveChanges的单一调用中的所有更改。 如果其中有任何更改失败,则会回滚事务且所有更改都不会应用到数据库。 这意味着,SaveChanges可保证完全成功,或在出现错误时不修改数据库。对于大多数应用程序,此默认行为已足够。 如果应用程序要求被视为有必要,则应该仅手动控...原创 2022-02-11 15:23:18 · 969 阅读 · 0 评论 -
C#【EF Core框架】使用乐观锁处理并发冲突
读本文前先掌握乐观锁和悲观锁的概念使用乐观锁处理并发冲突数据库并发指的是多个进程或用户同时访问或更改数据库中的相同数据的情况。并发控制指的是用于在发生并发更改时确保数据一致性的特定机制。EF Core 实现乐观并发控制,这意味着它将允许多个进程或用户独立进行更改而不产生同步或锁定的开销。 在理想情况下,这些更改将不会相互干扰,因此都能够成功。 在最坏的情况下,两个或更多进程将尝试进行冲突更改,其中只有一个进程应该成功。并发控制在 EF Core 中的工作原理配置为并发令牌的属性用于实..原创 2022-02-11 15:13:35 · 2574 阅读 · 0 评论 -
C# 你对值类型了解多少
你对值类型了解多少,如果值类型中包含引用类型,那么是以副本的方式传递还是引用传递呢?值类型和引用类型是 C# 类型的两个主要类别。 值类型的变量包含类型的实例。 它不同于引用类型的变量,后者包含对类型实例的引用。 默认情况下,在分配中,通过将实参传递给方法并返回方法结果来复制变量值。 对于值类型变量,会复制相应的类型实例。 以下示例演示了该行为:C#复制using System;public struct MutablePoint{ public int X; pub.原创 2022-02-10 14:48:55 · 202 阅读 · 0 评论 -
C#如何:使用分区本地变量编写 Parallel.ForEach 循环
如何:使用分区本地变量编写 Parallel.ForEach 循环下面的示例演示如何编写使用分区本地变量的ForEach方法。 当ForEach循环执行时,它会将其源集合划分为多个分区。 每个分区都有自己的分区本地变量的副本。 分区本地变量类似于线程本地变量,只是单个线程上可以运行多个分区。此示例中的代码和参数非常类似于对应的For方法。 有关详细信息,请参阅如何:编写具有线程局部变量的 Parallel.For 循环。若要在ForEach循环中使用分区本地变量,必须调用采用...原创 2022-02-09 13:16:04 · 386 阅读 · 0 评论 -
C#如何:编写具有线程局部变量的 Parallel.For 循环
如何:编写具有线程局部变量的 Parallel.For 循环此示例演示如何使用线程本地变量来存储和检索由For循环创建的每个单独任务中的状态。 通过使用线程本地数据,你可以避免将大量的访问同步为共享状态的开销。 在任务的所有迭代完成之前,你将计算和存储值,而不是写入每个迭代上的共享资源。 然后,你可以将最终结果一次性写入共享资源,或将其传递到另一个方法。示例以下示例调用For<TLocal>(Int32, Int32, Func<TLocal>, Func<...原创 2022-02-09 13:14:58 · 458 阅读 · 0 评论 -
C#如何:编写简单的 Parallel.ForEach 循环
如何:编写简单的 Parallel.ForEach 循环本文档使用 lambda 表达式在 PLINQ 中定义委托。 如果不熟悉 C# 或 Visual Basic 中的 lambda 表达式,请参阅PLINQ 和 TPL 中的 Lambda 表达式。示例此示例假定 C:\Users\Public\Pictures\Sample Pictures 文件夹中有几个 .jpg 文件,并创建名为“Modified”的新子文件夹。 运行该示例时,它会旋转示例图片中的每个 .jpg 图像并将其保存到.原创 2022-02-09 13:14:12 · 1097 阅读 · 0 评论 -
C#如何:编写简单的 Parallel.For 循环
如何:编写简单的 Parallel.For 循环本主题包含两个示例,这两个示例阐释了Parallel.For方法。 第一个示例使用Parallel.For(Int64, Int64, Action<Int64>)方法重载,而第二个示例使用Parallel.For(Int32, Int32, Action<Int32>)重载,它们是Parallel.For方法最简单的两个重载。 如果不需要取消循环、中断循环迭代或保持任何线程本地状态,则可以使用Parallel.F...原创 2022-02-09 13:13:02 · 1518 阅读 · 0 评论 -
C#基于任务的异步编程
任务并行库 (TPL) 以“任务”的概念为基础,后者表示异步操作。 在某些方面,任务类似于线程或ThreadPool工作项,但是抽象级别更高。 术语“任务并行”是指一个或多个独立的任务同时运行。 任务提供两个主要好处: 系统资源的使用效率更高,可伸缩性更好。 在后台,任务排队到已使用算法增强的ThreadPool,这些算法能够确定线程数并随之调整,提供负载平衡以实现吞吐量最大化。 这会使任务相对轻量,你可以创建很多任务以启用细化并行。 对于线程或工作项,可以使用更多的编程控件。...原创 2022-02-09 13:10:12 · 278 阅读 · 0 评论 -
(4)采集微信通讯录和联系人-微信UI自动化(.Net+C#)
我们在批量发送消息联系人之前,我们需要采集到我们微信中的联系人和群聊数据采集联系人的步骤(1)找到通讯录的窗口元素,发送点击事件将通讯录置为选中状态直接贴代码 private void ClickContacts() { var ele = UI_WX_Window.Current.Find("/Pane[2]/Pane[1]/Button[3]"); UI_WX_Window.Current.ClickElement原创 2022-02-11 11:30:44 · 3849 阅读 · 8 评论 -
C# 发展历史
C# 发展历史项目 2022/02/04本文内容C# 1.0 版 C# 版本 1.2 C# 2.0 版 C# 3.0 版 C# 4.0 版 C# 5.0 版 C# 6.0 版 C# 7.0 版 C# 7.1 版 C# 7.2 版 C# 7.3 版 C# 8.0 版 C# 9 版本页介绍了 C# 语言每个主要版本的发展历史。 C# 团队将继续创新,以添加新功能。 可以在 GitHub 上的dotnet/roslyn 存储库上找到详细的语言功能状态,包括考虑在...原创 2022-02-07 21:19:09 · 1396 阅读 · 0 评论 -
C# 9.0 中的新增功能
C# 9.0 中的新增功能项目 2022/02/04本文内容记录类型 仅限 Init 的资源库 顶级语句 模式匹配增强功能 性能和互操作性 调整和完成功能 支持代码生成器C# 9.0 向 C# 语言添加了以下功能和增强功能:记录 仅限 Init 的资源库 顶级语句 模式匹配增强功能 性能和互操作性 本机大小的整数 函数指针 禁止发出 localsinit 标志 调整和完成功能 目标类型的表达式 匿名函数 目标类型的条件表达式...原创 2022-02-06 20:53:02 · 185 阅读 · 0 评论 -
.NET Standard - 论 .NET Core 和 .NET Standard关系
.NET Standard - 论.NET Core 和 .NET Standard关系作为 .NET 系列的最新成员,.NET Core 和 .NET Standard 的概念及其与 .NET Framework 的区别并不十分明确。在本文中,我将准确介绍每个产品及其适用场景。在详细介绍之前,建议先审视一下 .NET 的总体情况,了解 .NET Core 和 .NET Standard 是如何在这一体系中发挥作用的。.NET Framework 是在 15 年前首次推出,当时只有一个 ...原创 2022-02-05 20:58:53 · 874 阅读 · 0 评论 -
(3)采用热键终止微信采集任务-微信UI自动化(.Net+C#)
注册了热键事件后我们需要一个方法来监听热键的事件,From窗体中提供了处理消息WndProc方法,我们重写这个方法,并加入自己的逻辑。0x0312是热键的消息类型,消息参数是我们自己定义的,如果热键的消息参数等于停止的ID 8897就停止微信自动化任务。这个类定义了捕获热键消息的ID,注册热键,注销热键的功能。在窗体的Load事件中注册热键。接下来我们进行联系人采集学习。在窗体关闭事件中注销事件。原创 2022-01-27 16:53:05 · 2996 阅读 · 0 评论 -
(2)初始化微信窗体UI自动化实例-微信UI自动化(.Net+C#)
(1)找到微信窗体并获取窗体句柄需要借助WINDOWS的这两个API函数 ,先定义好这两个API的C#调用方式 [DllImport("User32.dll", CharSet = CharSet.Auto)] public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID); [DllImport("user32.dll", EntryPoint = "FindWindow")] privat原创 2022-01-27 16:36:44 · 5970 阅读 · 0 评论 -
(1)开启探索微信自动化之路-微信UI自动化(.Net+C#)
微信自动化原创 2022-01-27 16:04:31 · 12298 阅读 · 0 评论