自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 C# 加解密之AES

其实上面扯这些也是白扯,对于一般用户来讲,我从明文能变成看不懂的密文就是加密了,管他叫什么,为什么要写这些,因为我发现很多人喜欢较真,拿MD5来说吧,专业点来讲,他确实是摘要算法而不是加密算法,但很多人就是喜欢称为MD5加密,反正我觉得没啥大问题,因为的确可以理解成一种不可逆的加密,大家既然说顺口了就按顺口的来吧,反正都懂就行。一般我们来说呢,对于加密,我们分为可逆和不可逆。可逆加密又可分为对称加密(AES、DES等)和非对称加密(RSA),还有就是一些编码加密等(BASE64);

2022-11-24 09:22:20 8104 1

原创 谷歌浏览器插件开发

对于浏览器插件相信大家都不陌生,谁的浏览器不装几个好用的插件呢,更是有油猴这个强大的神器。对于这个问题,其实很长时间以来我是一直有想法但从来没有付出行动,直到前一段时间有朋友找我写一些关于浏览器自动化的程序,当然如果简单的话,直接在控制台运行js脚本就可以了(但是真的不好用),转念一想,浏览器插件也许也是一个不错的选择,感觉应该不会太难,就去稍微了解了一下,有这个想法另一方面原因之前是有看到关于用c#来直接写浏览器插件的,嗯,没错,就是Blazor。还是花了点时间去研究这个东西,最后发现,极为难用。

2022-11-14 13:36:34 2377

原创 如何将程序打包成exe

所以这里我推荐使用自解压打包,使用自解压打包的话,我得推荐一款,emmm,一个一言难尽的软件——好压,相对其他常用的压缩软件而言,我认为这个软件在自解压这一款功能比较丰富(其实在其他方面也很丰富),为什么说一言难尽,大家可以自己去理解。相信很多人也用过vs自带的、或者第三方的比较专业的软件打包程序,就我个人而言的话,我认为是太过专业、繁琐了,对于商业型软件的话这样使用无可厚非,但是对我们个人开发的软件而言,很多时候只需要做一下简单的打包即可。但对于我们平常写个小工具什么的话,还是不错的。

2022-10-31 20:51:00 8018

原创 Visual Studio 预先/后期 生成事件

反正我是第一次用,还是在写上一篇文章的时候,感觉一个个去处理一些资源文件很费事,总觉得有简单的办法,然后就开始研究项目属性,看到生成事件的时候,总觉得这个东西可以帮我搞定,就去百度了下,嘿,确实不错。然后想着一个个设置吧,虽然有点烦,最起码能完成需求,但是结果差强人意啊,复制的时候连带文件夹一起复制出来了,这样的话就会报错找不到资源,因为引用的DLL只会寻找当前目录的资源。但其实不查文档也可以直接用一些简单的,如下图所示,点击按钮,会直接显示各个宏代表的意义,双击即可直接输入到命令框。

2022-10-20 11:06:00 668

原创 C# 文字视频生成器

之前短视频平台很火的时候,相信很多人都想进去分一杯羹,俺当然也不能免俗,但是人丑家穷又没才艺,咋办呢?看到别人有只发文字啥的一些视频加点背景音乐也能看,想着,Wo Cao?但是让我天天去找素材剪辑视频啥的,那肯定干不来,毕竟程序员是需要加班的,所以,这个粗糙的程序就诞生了,当然我也没怎么用,发了两篇觉得不好玩。这个软件主要是基于录屏功能来实现的,不过是一键式的罢了,当然实现录屏我们用了第三方的插件:AForge。后来通过种种途径吧,才知道短视频背后的产业相当复杂,一个视频能不能火基本不在于视频本身。

2022-10-09 09:26:03 465

原创 C# 监听鼠标操作

通过这几篇内容,我想我们可以整合一下,做一个简单的操作录制功能,用来解决一下日常的繁琐切循环的操作,这个功能之前有发过一个简单的版本,但不是通过HOOK去实现的,而是让用户自己手动录制,再去执行。使用HOOK的话,直接监听一遍用户的操作,记录相应的动作即可,同时可操作性也有很大提高(emmmm,我觉得回头有时间我自己先封装下,可能用途还不小,同时想起之前写的关键字查询的工具,以为只是偶尔之需,万万没想到它在我生活、工作中也帮了我很多。HOOK的工具类可参考前面的文章,这里不赘述,贴下需要更改的代码。

2022-09-15 21:56:35 6092 3

原创 C# 键盘改键功能

打个比方,假如我键盘某个键坏了,比如回车键(这个键很重要),在没有备用键盘的情况下我们就可以用此功能来暂时顶替下;当然也可以做连击(摁一次等于摁10次)、组合键(只摁A键就实现ABC三个键全摁)或者快捷键之类的功能。可能不太能看到效果哈,因为键盘是我自己摁的,你也不知道我摁了那个(但我点完改键后确实是摁的Shift,然后换行了),有兴趣可以自己试试看。键盘HOOK工具类在这里就不写了,在上一篇已经写过了,没有做任何改动;上一篇有写利用HOOK来做的一个键盘记录器,这次我们来做一个改键功能。

2022-09-01 21:21:04 1896 1

原创 C# 键盘记录器

利用HOOK技术来做一个键盘记录器,看看一天下来,我们点击了多少次键盘,哪些键的使用频率最高。开发工具: Visual Studio 2013。.NET Framework版本:4.5。使用C#实现一个键盘记录器。

2022-08-16 21:36:37 2429

原创 C# 封面图片生成器

这个东西我已经用了有段时间了,从开始写文章就在用这个,主要原因还是因为我比较懒。懒得去寻找图片,同时又怕万一惹来版权争议。代码实现也比较简单,如果有兴趣的话,可以自己扩展,比如自定义背景图,自定义水印等。跟我所有的文章的封面图一样,一个纯色背景加上文字自动生成一个指定大小的图片。开发工具VisualStudio2013。.NETFramework版本4.5。......

2022-08-02 10:14:00 972 1

原创 C# HTTP请求

这个就不必多说了,但是这里为了可以应对较多场景,加入了一个传入参数的类型,用来支持各种的数据,这里再提一下StringText这个枚举类型,访问.netcorewebapi的接口时,假如定义接收参数为[FromBody]String,那边必须再加引号转一下,否则获取不到,在Swagger上也一样,但是用Jquery的话,直接json.stringify()转一下是没问题的(我感觉这里是个深坑,当然你要用其他方式接收的话可以避免这个问题);.NET版本.NETCore3.1。......

2022-07-18 21:35:00 5936

原创 C# 接收邮件之QQ邮箱

前面写了一篇通过smtp协议利用qq邮箱去实现发送邮件的功能。这一篇我们使用pop协议来实现一下接收邮件。由于邮件的内容类型比较丰富,我暂时没有一个比较好的解决方案(确切的说我是懒得一种种去解析),所以这里就获取下邮件的列表,以及邮件的标题信息实现功能:开发环境:实现代码:由简入繁,拿来即用更多精彩,请关注微信公众号:......

2022-07-06 15:59:56 1817

原创 C# 发送邮件之QQ邮箱

QQ邮箱大家基本是人手一个,但是如果需要在我们的代码中使用的话,需要做一下简单的设置。设置如下:实现功能:开发环境:实现代码:由简入繁,拿来即用更多精彩,请关注微信公众号:......

2022-06-24 14:22:26 2446 1

原创 C# 定时任务之Quartz.Net

上一篇写到的使用windows任务计划程序来实现定时任务,但这种方式在开发过程中不是太灵活,很难满足我们时需时用;所以我们如果能在代码中来实现的话就会比较得心应手;所以这篇来简单介绍下Quartz.Net这个任务调度系统的使用方式。实现功能:开发环境:实现代码:实现效果:我这里用winform来做这个测试,当然我认为这并不太合适。此篇只是介绍了下Quartz.Net简单的使用方法,还有其他更高级的功能大家可以去官网自行学习。由简入繁,拿来即用更多精彩,请关注微信公众号:......

2022-06-06 12:57:14 1938 1

原创 C# 创建任务到Windows任务计划程序

相信有看过我上一篇《C# 定时任务之windows任务计划程序》并且有需求的朋友已经打开过任务计划程序去尝试了,同时是否有了另一个疑问。里面已经存在的任务是怎么来的呢?能否通过我们自己的程序去创建呢?答案当然是可以的!本篇我们来实现一下这里我们会用到taskschd.dll这个dll,可以从网上下载,也可以在电脑C:\Windows\System32查找到(一般都可以,如果不缺失的话),然后引用到我们的项目中,并将嵌入互操作类型改为false实现功能:开发环境:实现代码:更多的使用方法我已再注释

2022-06-01 10:15:30 1799

原创 C# 定时任务之windows任务计划程序

我们有时候需要在特定的时间、或者间隔某段时间后执行一个程序来处理问题;如果间隔时间较长,比如一天一次、一周一次,或者需要在某年某月某日某时执行,那么我们用计时器去实现的话,就很不合理了,资源消耗不说,而且还可能发生程序卡死、时间不精确等情况。这一篇我们介绍下面这个方式:不写一行代码,利用Windows自带的任务计划程序来实现定时任务的执行按下windows+r,输入taskschd.msc回车执行,进入windows任务计划程序 右键任务计划...

2022-05-26 20:59:44 2615

原创 C# 定时器的三种使用方式

定时器,用途以及重要性不言而喻。C#向我们提供了三种计时器的实现。具体实现代码如下,可根据需要选择使用。实现代码: private void button1_Click(object sender, EventArgs e) { //单线程 System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer(); //1秒间

2022-05-23 09:27:04 4955

原创 C# 预处理器指令

以下代码特别简单,但是如果没用过的话,可能直接看代码也是看不懂用途。所以这里还是大致表述下没有自己定义过的DEBUG和TRACE为何能直接使用?——右键项目,可以看到定义DEBUG常量和定义TRACE常量,前面打勾即可 如何确定DEBUG模式?——直接切换生成模式既可以看到效果 warning和error指令的体现?——基于现在vs的强大,所以我们只要写出来就会直接体现出来警告或者错误,如果和生成模式结合使用未直接体现,尝试重新生成解决方案 line指令——断点调试跟踪即可看到...

2022-05-17 10:49:45 273

原创 C# 文字转语音

不依赖于第三方程序,使用.net自带的System.Speech实现,添加引用至项目即可实现功能:将文字转为语音,实现播放、暂停、继续、停止;以及音量和语速调整等功能,并且支持将音频保存到本地开发环境:开发工具: Visual Studio 2013.NET Framework版本:4.5实现代码:SpeechSynthesizer speech; private void btnPlay_Click(object sender, EventArgs e).

2022-05-12 09:21:05 4502

原创 C# FTP操作工具

上面一篇已经发视频展示了FTP工具的操作使用,所以这一篇放一下主要源代码;篇幅有限,这里就放一下操作FTP公共类代码;其他的也没什么功能,一个页面展示(主要是TreeView控件和ListView控件),还有一个就是获取本地的文件(DirectoryInfo类)实现功能:实现使用FTP上传、下载、重命名、刷新、删除功能开发环境:开发工具: Visual Studio 2013.NET Framework版本:4.5实现代码: /*FTP操作公共类*/.

2022-05-06 13:46:11 1425

原创 C# 自动点击、发送消息

一个简单的实现版本,没有去Hook键鼠等操作,事先录制好操作步骤(将鼠标移动到需要操作的位置,按下热键执行相应动作),点击运行即可。主要还是用windows api来实现,模拟点击、右击、双击、发送文本等。代码可能略长一点,下面发下关键代码主要的思路就是操作热键的时候,将操作类型以及坐标记录到一个List中,然后利用Windows Api循环执行List中的数据实现功能:模拟鼠标点击、文本输入开发环境:开发工具: Visual Studio 2013.NET Fra

2022-05-01 12:18:03 2337

原创 C# 自定义电脑屏幕保护程序

本篇要做的是,让电脑用我们自己写的程序作为屏保程序。屏保程序有什么用,就不说了(严格来说,没什么用,纯粹自娱自乐。)以下实现代码比较简单,此处采用了逐字输出一段文字作为程序内容:首先添加一个txt的资源文件,内容为烟花易冷的歌词。然后设置我们的窗体无边框,黑色背景,启动最大化,最上层显示等等等等。将下面的代码生成exe文件后,修改后缀名为scr,然后放到C:\Windows\System32目录下。如果是win10系统的话。在桌面右键个性化->锁屏界面->屏幕保护程序设置

2022-04-28 22:01:48 1554

原创 C# 简单的操作其他程序

续上一篇,这一篇主要还是来写下SendMessage的一般可能会用到的操作。当然其中有些操作也可以用其他方式去实现。上一篇我们在接收端做了Windows消息的自定义处理,所以我们可以更灵活的操作赋值,但是这都是基于我们自己写的程序,下面我们对第三方程序做一下简单的操作。首先要指明一点,此操作都是基于句柄的,但是现在有很多程序的控件都是自绘的,所以是没有句柄的。实现功能:设置QQ窗口显示/隐藏(如果支持的化)设置QQ窗口最大化/最小化自定义设置QQ窗口的标题在输入控件中输入内容并回车

2022-04-26 15:52:07 2145

原创 C# 两个exe程序之间通信

其实对于两个程序之间进行通信的实现方式有很多种,一般会采用服务端+客户端的模式,此处我们是进行两个客户端之间的通信,如果用一种最简单的方式去实现的话,我认为可以采用写文件的方式,即一个读,一个写。这个写法的话可以参考之前的关于文件读写的文章;但这里我们使用的是另一种,基于Windows API实现Windows消息的发送接收;实现功能:使用SendMessage实现两个程序之间的通信开发环境:开发工具: Visual Studio 2013.NET Framework版本:

2022-03-17 09:14:17 4878 3

原创 C# 汉字与拼音互转

这个功能,大家也都可以去百度以下,千篇一律都自己写的(抄的)封装好的公共类,此处还是得膜拜下原创的大佬,可以花时间去搞这个,我看着都头皮发麻。对于一个有代码洁癖的码农来说,我并不喜欢那种方式(自己抄下来封装?那我图个啥?),所以我们直接从NuGet去获取一个封装好的DLL:NPinyin此DLL提供了三个方法(重载不算)汉字转拼音 拼音转汉字(单字) 获取汉字的拼音首字母实现功能:输入汉字获取拼音或者拼音的首字母,输入拼音获取对应的汉字开发环境:开发工具: Vis

2022-03-15 17:07:09 7497 1

原创 C# 输入公式,计算出结果

什么意思呢?就是我们随便输入一串需要运算的字符串,会自动解析并算出结果。其实实现的代码很简单:就是用DataTable的Compute方法。此方法一般是用在DataTable数据源中的一些计算或者筛选。但是如果我们计算的公式不在数据源之内,其实是依旧可以计算的,就好比你直接在sql语句中执行一个计算公式,也是可以计算的,如mysql:select 100*3,最后查出来的结果集就是300。实现功能:输入需要运算的公式,计算结果开发环境:开发工具: Visual Studio 2

2022-03-08 09:09:30 2746 1

原创 C# 按质量等级压缩图片(二)

压缩方式跟上一篇是一样的,不同的是,这次我们会同时融入一个等比压缩宽高的方法,这两个一起使用,会使文件空间大幅度减小,同时也可以单独压缩宽高,质量等级不要变(直接用100即可);实现功能:压缩图片大小以及质量开发环境:开发工具: Visual Studio 2013.NET Framework版本:4.5实现代码://选择图片路径 private void btnOld_Click(object sender, EventArgs e) { OpenF

2022-03-01 09:09:27 4586

原创 C# 按质量等级压缩图片(一)

以下分三个质量等级对图片进行了压缩,在效果图中可以看到明显的大小变化以及图片质量的变化多的就不写了,代码比较简单,大家自行运行测试吧实现功能:压缩图片开发环境:开发工具: Visual Studio 2013.NET Framework版本:4.5实现代码: //选择图片路径 private void btnOld_Click(object sender, EventArgs e) { OpenFileDialog ofd = new Ope.

2022-02-24 13:12:54 410

原创 C# 格式化JSON的两种方式

当我们拿到一大段JSON字符串的时候,分析起来简直头皮发麻,相信很大一部分朋友也都会直接去BEJSON等网站去做一个JSON格式化,已方便自己查看数据、分析日志等本篇我们可以使用JSON.NET来实现JSON数据的格式化。实现功能:格式化JSON字符串开发环境:开发工具: Visual Studio 2013.NET Framework版本:4.5实现代码://第一种方式private void btnFormat1_Cli...

2022-02-21 09:26:34 12431 1

原创 C# 实体类转换的两种方式

将一个实体类的数据赋值到另一个实体类中(亦或者实现深拷贝)。以下提供两种方式,一种是序列化,一种是泛型+反射;实现功能:两个实体类数据转换赋值开发环境:开发工具: Visual Studio 2013.NET Framework版本:4.5实现代码://学生类 private class Student{ public string name { get; set; } public int age { get; set; } .

2022-02-16 13:21:49 6664

原创 C# 人脸比对

前面已经写过文字识别和人脸检测。都是在使用现成的轮子(直接调用的百度SDK),其实仔细看看文档,也就都知道怎么写了,而且百度还提供了多种语言的代码示例;所以如果后面没什么特殊需求的话,关于调用百度API来实现AI部分功能的代码就到此为止了;之所以写这三个,是因为这三种场景在日常生活、工作中使用的比较频繁。人脸比对功能,一般会用在人脸与本人身份证做比对验证的情况下。实现功能:验证两张人脸是否是同一个人开发环境:开发工具: Visual Studio 2013.NET Fr

2022-02-14 13:11:17 3398

原创 C# 文件与字符串的互转

嗯,就是BASE64,不用多想,本来计划是要跟上一篇字符串压缩一起写的,用来实现将一个文件可以用json或者text等方式进行接口之间的传输,为了保证传输效率,所以对生成的字符串进行进一步压缩。但是由于不能上传完整源代码,所以就还是分开写了,方便展示实现效果以及功能的单独使用。实现功能:将文件与为字符串互转开发环境:开发工具: Visual Studio 2013.NET Framework版本:4.5实现代码: //选择文件路径 private void b

2022-02-11 14:12:38 1583

原创 C# 压缩和解压字符串

嗯,就是将比较大的字符串进行压缩,使其占用空间小一点,我一般用在有时候接口间需要传输大量数据的时候(json数据较大或者含有base64),缩小体积以加快传输小效率。实现功能:压缩和解压字符串开发环境:开发工具: Visual Studio 2013.NET Framework版本:4.5实现代码: string fileData = "", compress = ""; private void btnPath_Click(object ...

2022-01-12 10:27:11 6303

原创 C# 设置鼠标光标为自定义图片

这个功能,大家平常在网页上看到的比较多,经常是打开某个网址,鼠标或者点击效果会变成比较绚丽的那种,在winform上估计就很少有人去使用(其实也没什么用- -,只是自娱自乐看下效果而已);如果不加什么特效的话,winform上实现起来真的是超级简单。这就得益于C#强大的API了。首先需要保证我们的图片是icon格式,这个可以直接在线转换,网上随便一百度就行了。实现功能:Winform设置鼠标光标为自定义图片开发环境:开发工具: Visual Studio 2...

2022-01-06 21:36:58 3997 1

原创 C# 资源文件的使用

关于资源文件,其实在前面写Winform实现多语言切换的时候已经用过了,但那是为了配合本地化去实现语言切换功能的,这一篇介绍下我们资源文件常用的方法。大多数的时候,我们希望发给别人自己程序的时候最好就是一个单纯的exe文件,绿色版的最好。简单方便易操作。如果我们的程序很简单,未引用第三方dll或者使用其他文件等,那直接使用就可以了,但是如果我们设置了比如窗体背景,默认图像等。就需要包括文件一起发送。所以我们这里可以采用将文件放到资源文件的方式;最后依然可以只需要一个exe...

2021-12-27 09:49:36 1270

原创 C# 人脸检测

人工智能时代,关于人脸检测、识别等功能大家已经屡见不鲜。本篇用C#来写一下人脸检测功能,简单点说,是借助百度SDK来实现,在前面写到的文字识别文章中已经使用过了此方式,我们只要换下调用方法即可(感觉可以写一个C#调用百度AI平台的专栏了。。)去 百度AI开放平台 查找关于人脸功能的模块,获取到api_key和secret_key即可实现功能:检测图片中是否存在人脸并显示年龄、颜值等数据开发环境:开发工具: Visual Studio 2013.NET Framework

2021-12-22 08:58:05 3689

原创 C# 二维码生成和解析

现如今二维码广泛应用,已经成为了生活中不可或缺的东西;所以我们日常的开发中,也肯定少不了对二维码的生成或者解析。实现功能:将字符串生成二维码和解析二维码图片开发环境:开发工具: Visual Studio 2013.NET Framework版本:4.5实现代码://需添加zxing.dll和zxing.presentation.dll到自己项目//需引入命名空间using ZXing;using ZXing.Common;using ZXing.QrCo

2021-12-20 14:36:47 1106

原创 C# 多文件压缩与解压

这个功能没什么可介绍的,大家都懂,直接上代码了。。实现功能:选择多个文件压缩成ZIP文件和解压ZIP文件开发环境:开发工具: Visual Studio 2013.NET Framework版本:4.5实现代码://需要添加ICSharpCode.SharpZipLib.Zip.dll到自己项目private void btnCompressFile_Click(object sender, EventArgs e) { listFiles..

2021-12-16 15:26:35 2571

原创 C# 实现手写输入功能

在如今这个时代,对这个功能的需求量可能已经很少了,但是这也不妨碍我们或多或少的会碰到一些稀奇古怪的需求,多接触一些总归是没错的。本篇主要是用到了Microsoft.Ink来实现一个手写输入,也就是类似于手机输入法中的手写功能。实现功能:用鼠标或者手指在屏幕上写字并识别输入到文本框开发环境:开发工具: Visual Studio 2013.NET Framework版本:4.5实现代码:InkCollector ink;RecognizerContext .

2021-12-14 09:27:01 2080 4

原创 C# 简单实现QQ截图功能

接上一篇写的截取电脑屏幕,我们在原来的基础上加一个选择区域的功能,实现自定义选择截图。个人比较懒,上一篇的代码就不重新设计了,就简单改一下呈现方式。不得不吐槽一下,在windows10系统上设置了放大比例的话,用这种方式来实现截图功能的话需要去计算比例。后面有机会的话,用第三方DLL再实现一次。实现功能:屏幕选择区域截图开发环境:开发工具: Visual Studio 2013.NET Framework版本:4.5实现代码://将上一篇的内容改成以下.

2021-12-10 13:17:12 2619

原创 C# 文字识别(OCR)

在上一篇中已经实现了自定义截图,这一篇接着来把最后的功能完善,将截取下来的图片做文字识别。有现成并且好用的轮子,能用就用,若无必要,还是少造为好(反正我懒)。。。所以我们采用使用百度OCR的SDK来实现。大家可以自己去 百度AI开放平台,找到文字识别的项目看看,然后拿到api_key和secret_key即可,具体的SDK文档可以在官网详细查看。实现功能:截图并识别图片中的文字开发环境:开发工具: Visual Studio 2013.NET Framework版本:4

2021-12-09 14:14:33 6758

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除