
C#
我不是程序员~~~~
发呆
展开
-
C# OpenCV开发环境搭建
C# OpenCVSharp安装 在C#程序里使用opencv需要下载OpenCVSharp,右键项目【管理NuGet包】,选择浏览,输入OpenCVSharp,需要安装下面两个依赖包:opencv现在最新的版本是4.5, 这两个包也很新了。C#显示Mat图片 在代码里使用,需要引入opencv, 代码如下:using OpenCvSharp; //引用opencv下面是用C#显示Mat的代码using System;using OpenCvSharp; //引用ope转载 2022-01-13 10:50:19 · 1638 阅读 · 0 评论 -
C#判断文件是否正在使用
private bool IsFileInUse(string strFileName) { if (!File.Exists(strFileName)) return false; bool bRet = true; FileStream fs = null; try { fs = new FileStre.转载 2021-11-30 09:45:49 · 974 阅读 · 0 评论 -
使用 C# 下载文件的十八般武艺
文件下载是一个软件开发中的常见需求。本文从最简单的下载方式开始步步递进,讲述了文件下载过程中的常见问题并给出了解决方案。并展示了如何使用多线程提升 HTTP 的下载速度以及调用 aria2 实现非 HTTP 协议的文件下载。简单下载在 .NET 程序中下载文件最简单的方式就是使用 WebClient 的 DownloadFile 方法: var url = "https://www.coderbusy.com"; var save = @"D:\1.html"; using (var转载 2021-08-20 20:11:19 · 459 阅读 · 0 评论 -
C# 字符串string与char数组互转!
字符串转换成Char数组1 string str="abcdefghijklmnopqretuvwxyz";2 char[] chars=str.ToCharArray();char数组转换成字符串1 char[] chars=new char[]{'a','b','c','d'};2 string str=new string(chars);转载 2021-08-04 14:10:32 · 1261 阅读 · 2 评论 -
C#上位机开发(一)—— 了解上位机
上百篇原创人工智能系列教程,从理论到实战,手把手带你掌握人工智能,点击☞这里☜进入传送门~ 在单片机项目开发中,上位机也是一个很重要的部分,主要用于数据显示(波形、温度等)、用户控制(LED,继电器等),下位机(单片机)与 上位机之间要进行数据通信的两种方式都是基于串口的: USB转串口 —— 上位机和下位机通过USB转串口连接线直接相连进行数据交互;串口转WIFI(ES...转载 2021-07-22 08:38:21 · 9664 阅读 · 0 评论 -
C# 获取应用程序当前目录
一客户反馈,软件(C#)手动打开时正常,而设置为开机启动后,播放视频的功能失效。测试发现,是开机启动时,程序没有找到视频文件的路径。因为此时获取的当前路径是 C:\windows\system32。查资料,修改了写法,问题解决,总结如下:如果软件是用户手动打开的,获取当前目录方法如下,获取的是一个exe文件所在的文件夹路径。System.Environment.CurrentDirectory如果软件需要开机启动,则获取当前目录的方法如下:string adPath = System.Ref转载 2021-07-19 08:42:04 · 1488 阅读 · 0 评论 -
C# 获取、设置exe文件的版本
Windows下,exe文件都有关于版本的属性,可以在属性-详细里面看到C#中获取文件版本的方法如下:var versionInfo = FileVersionInfo.GetVersionInfo("FurnitureMFG.exe");string clientVersion = versionInfo.FileVersion;C#中设置文件版本的方法如下:Properties > AssemblyInfo.cs[assembly: AssemblyFileVersion("20转载 2021-07-21 08:42:41 · 1527 阅读 · 0 评论 -
C# 带超时处理的串口通讯模型
串口发送与接收数据的模型,带超时功能,示意图如下:其中,额外等待是可有可无的。代码如下(已精简,只剩最主要的)。其中串口类的名字是Global.spusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.F转载 2021-07-21 08:42:49 · 1209 阅读 · 0 评论 -
C#如何调用DOS命令
在使用C#编辑过程中,通常需要利用外部命令来执行一些操作,从而完成特定的功能。下面小编就以利用C#调用DOS命令“Ver”显示系统版本号为例,给初学C#语言的网友讲解一下具体的调用方法,希望对大家有所帮助。方法/步骤打开VS2010,点击”文件“→”“新建”→“项目“, 在打开的”新建项目“窗口中,选择”Windows窗体应用程序“,并将工程命名为“CallDos”,最后点击”确定“创建新工程。从工具栏将”按钮“控件拖放到编辑窗口中,并将其”Text“命名为”获取系统版本信息“。接着向编程区域转载 2021-07-18 11:15:31 · 1187 阅读 · 0 评论 -
[C#]UDP实现广播
其实UDP广播就是向255.255.255.255发送数据,接收端只需绑定UDP广播的端口号即可。发送端,发送的地址,255.255.255.255:Port,即,IPAddress.Broadcast:Port接收端,接收的地址,0.0.0.0:Port,即,IPAddress.Any:Portusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Net;转载 2021-07-21 08:43:52 · 4888 阅读 · 0 评论 -
[C#]自定义消息收发
最近由于项目要用到C#,所以最近学了一下C#,其中别人的代码里面用了 自定义消息,不过他们的代码是半开源,所以为了验证他们程序的传递机制,我自己写了一个Demo,学习了一下这种机制。主要是两个函数://发送消息public static extern void PostMessage(IntPtr hWnd, int msg, int wParam, int lParam);//处理消息protected override void DefWndProc(ref System.Windows.Fo转载 2021-07-22 08:40:15 · 530 阅读 · 0 评论 -
C#中HttpWebRequest、WebClient、HttpClient的使用详解
HttpWebRequest:命名空间: System.Net,这是.NET创建者最初开发用于使用HTTP请求的标准类。使用HttpWebRequest可以让开发者控制请求/响应流程的各个方面,如 timeouts, cookies, headers, protocols。另一个好处是HttpWebRequest类不会阻塞UI线程。例如,当您从响应很慢的API服务器下载大文件时,您的应用程序的UI不会停止响应。HttpWebRequest通常和WebResponse一起使用,一个发送请求,一个获取数据。H转载 2021-07-03 08:37:24 · 3161 阅读 · 0 评论 -
C#实现 ffmpeg视频转码、播放
主要是转码的操作过程,能够实现了从相机获取的MP4转换成普通播放器播放的MP4格式;//转码方法 private void Test1() { Process p = new Process(); p.StartInfo.FileName = path +"ffmpeg.exe"; p.StartInfo.UseShellExecute = false; string s转载 2021-06-20 13:38:57 · 1575 阅读 · 0 评论 -
C#访问SQLite完整增删改查代码
以下代码都是经过我测试可用的;一 一个控制台示例using System;using System.Data.SQLite; namespace SQLiteSamples{ class Program { //数据库连接 SQLiteConnection m_dbConnection; static void Main(string[] args) { Program p = new P转载 2021-07-27 08:41:09 · 715 阅读 · 0 评论 -
c# winform不规则窗口实现(透明窗口)
一、前言最近在搞c#的winform窗体应用,需要实现一个不规则窗口的效果。比如形状如下的一个窗口二、最终运行效果三、分析想要做一个不规则的窗口,那么标题栏要去掉;标题栏去掉了,窗口就不能移动了,所以我们还要实现窗口的移动逻辑,最后,窗口使用一张不规则形状的背景图,通过一个算法,判断各个像素的alpha值是否小于我们设定的alpha阈值,如果是,则把颜色过滤掉,这样就实现了透明效果了,也就实现了不规则形状的显示。四、创建工程好了,创建c# winform窗体应用工程,创建一个Picture转载 2021-05-25 09:44:53 · 2896 阅读 · 0 评论 -
c# winform窗口置顶显示
最近在搞c#的winfrom窗体应用,做一个浏览器,需要让它置顶显示。只需一行代码即可,例:public partial class MyForm : Form{ public MyForm() { InitializeComponent(); //窗口置顶显示 this.TopMost = true; }}...转载 2021-05-25 09:42:00 · 1435 阅读 · 0 评论 -
C# winform窗体应用监听Console日志并写入本地日志
一、前言最近在搞C#的winform窗体应用,需要监听Console日志写入本地日志,类似Unity的Application.logMessageReceviedThreaded。二、具体实现1、原理Console提供了一个SetOut接口,传入一个TextWriter,即可通过TextWriter重写Write和WriteLine接口,将日志写入我们的日志文件了。public static void SetOut(TextWriter newOut);2、具体实现自己创建一个类,比如Lo转载 2021-05-25 09:40:02 · 905 阅读 · 0 评论 -
用C#实现一个迷你json库,无需引入dll(可直接放到Unity中使用)
一、前言最近在搞C#的winform窗体应用实现一个微型下载器功能。过程中需要解析json数据,又不想引入一个dll,从GitHub上找到了一个json库源码,并做了微调,实测可用。二、使用1、json obj转stringJSONObject jsonObj = new JSONObject();jsonObj["key_1"] = "value_1";jsonObj["key_2"] = 666;string jsonStr = JSONConvert.SerializeObject(js转载 2021-05-22 15:24:01 · 614 阅读 · 0 评论 -
C# 正则表达式校验IP格式
校验IP格式public static bool ValidateIPAddress(string ipAddress){ Regex validipregex = new Regex(@"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$"); return (ipAddress != "" && validipregex.转载 2021-05-21 16:57:10 · 2038 阅读 · 0 评论 -
C# Socket模块
服务端using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Runtime.InteropServices; using System.Net;using System.Net.Sockets;namespace ConsoleApplication2{ class Program {转载 2021-05-21 16:55:27 · 257 阅读 · 0 评论 -
用C#实现一个zip解压功能,无需引入dll(可直接放到Unity中使用)
一、前言最近在搞C#的winform窗体应用实现一个微型下载器功能。过程中需要解压文件,又不想引入一个dll,从GitHub上找到了一个UnZip库源码,实测可用。二、使用解压using (var unzip = new Unzip("./test.zip")){ unzip.ExtractToDirectory("./test");}三、Unzip源码// Unzip class for .NET 3.5 Client Profile or Mono 2.10// Writt转载 2021-05-21 16:06:51 · 645 阅读 · 1 评论