自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 C#-文件只读时进行拷贝或删除报错, 对路径不允许访问

文件只读时进行拷贝报错,解决方法如下: 设置文件属性为正常 然后在进行拷贝 /// <summary> /// 拷贝文件夹 /// </summary> /// <param name="sourceDirectory"...

2020-05-17 22:51:33 62 0

原创 在c#中将debug/release下文件打包成一个可直接运行exe文件

winrar5.60 1. 选择debug/release下所有文件,鼠标右键“添加到压缩文件…” 2. 常规->压缩选项->创建自解压格式压缩文件,可将默认文件名重命名 3. 高级->自解压选项 3.1 设置->提取后运行程序(填写exe文件名) 3.2 模式->勾...

2020-05-17 22:47:46 43 0

原创 c#中程序以管理员身份运行的三种办法

三种办法: 一、设置程序本身的属性:勾选“以管理员身份运行此程序”,必要时设置“更改所有用户设置-以管理员身份运行此程序”,当然这种办法是被动的,也不是最实际的办法; 二、代码法: static void Main(string[] Args) { /** ...

2020-05-17 22:46:58 68 0

原创 C#如何判断程序调用的exe已结束

二个方法:以运行系统记事本为例 方法一:这种方法会阻塞当前进程,直到运行的外部程序退出 System.Diagnostics.Process exep = System.Diagnostics.Process.Start(@"C:\Windows\Notepad.exe");...

2020-05-17 22:45:40 42 0

原创 C#操作快捷方式(获取快捷方式属性、创建快捷方式)

第一步 创建一个项目 无需废话,跳过。 第二步 引用COM组件 右键“引用”,“添加引用”,选择“COM组件”,找到“Windows Script Host Object Model”,然后确定。 第三步 编写创建快捷方式的代码 1 // 声明操作对象 2 IWshRunt...

2020-05-17 22:43:42 66 0

原创 浅谈多核CPU、多线程、多进程

1.CPU发展趋势 核心数目依旧会越来越多,依据摩尔定律,由于单个核心性能提升有着严重的瓶颈问题,普通的桌面PC有望在2017年末2018年初达到24核心(或者16核32线程),我们如何来面对这突如其来的核心数目的增加?编程也要与时俱进。笔者斗胆预测,CPU各个核心之间的片内总线将会采用4路组相...

2020-05-12 22:08:51 66 0

原创 并发和并行的概念

1.CPU的发展趋势: 核心数目依旧会越来越多,根据摩尔定律,由于单个核心性能提升有着严重的瓶颈问题,普通的PC桌面在2018年可能回到24核心。 2.并发和并行的区别: 所有的并发处理都有排队等候,唤醒和执行这三个步骤,所以并发是宏观的观念,在微观上他们都是序列被处理的,只不过资源...

2020-05-12 22:07:28 33 0

原创 多线程 ---并发与并行概念总结

软件开发,网站开发过程中经常有并发,并行这样的多线程处理与应用。因此,有必要对其进行了解与掌握。 多线程: 在了解线程之前,要先知道进程这个概念。进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。简单点说,进程就是执行中的程序活动,是一个活动的实体。 多进程,就好比同时打开了Word...

2020-05-12 22:06:01 44 0

原创 简述单机,集群,分布式架构区别及联系

单机结构 我想大家最最最熟悉的就是单机结构,一个系统业务量很小的时候所有的代码都放在一个项目中就好了,然后这个项目部署在一台服务器上就好了。整个项目所有的服务都由这台服务器提供。这就是单机结构。 那么,单机结构有啥缺点呢?我想缺点是显而易见的,单机的处理能力毕竟是有限的,当你的业务增长到一定程...

2020-05-12 22:04:43 28 0

原创 分布式系统架构简单介绍

目录: 一、什么是分布式系统? 二、为什么要走分布式系统架构? 三、系统如何进行拆分? 四、分布式之后带来的技术挑战? 一、什么是分布式系统? 在谈分布式系统架构前,我们先来看看,什么是分布式系统? 假设原来我们有一个系统,代码量30多万行。现在拆分成20个小系...

2020-05-12 22:02:43 38 0

原创 图解分布式系统架构演进之路

0、介绍 本篇文章是在我看完《从零开始学架构》之后,以架构演变为主线,梳理了一下演变过程中出现的问题以及解决方案,文章中引用了这本书的一些内容和图片 分布式和集群的概念经常被搞混,现在一句话让你明白两者的区别。 分布式:一个业务拆分成多个子业务,部署在不同的服务器上集群:同一个业务,部署在多...

2020-05-12 22:01:04 33 0

原创 自动化设备的软件框架

自动化设备的软件主要由2部分组成:1是运动控制部分的软件实现,2是上位机处理数据并显示结果的软件实现。    运动控制的实现   第1部分的实现主要有2种方式,一种是用板卡控制的方式,一种是用PLC控制的方式。前者最大的优势是能够集成在上位机软件系统中,其使用和维护都很方便。而且,板卡控制也很...

2020-05-12 21:58:58 59 0

转载 开发框架-概念

前言   做为一个程序员,在开发的过程中会发现,有框架同无框架,做起事来是完全不同的概念,关系到开发的效率、程序的健壮、性能、团队协作、后续功能维护、扩展......等方方面面的事情。很多朋友在学习搭建自己的框架,很多公司也在创建或使用自己的框架,网上开源的框架多如牛毛,每年新上线的各种框架也不...

2020-05-12 21:57:30 153 0

原创 简单的OPC与C#通讯,别想复杂了

简单的OPC与C#通讯,别想复杂了 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using S...

2020-05-12 21:50:30 128 0

原创 OPC UA简介

OPC是应用于工业通信的,在windows环境的下一种通讯技术,原有的通信技术难以满足日益复杂的环境,在可扩展性,安全性,跨平台性方面的不足日益明显,所以OPC基金会在几年前提出了面向未来的架构设计的OPC 统一架构,简称OPC UA,截止目前为止,越来越多公司将OPC UA作为开放的数据标准,在...

2020-04-28 21:06:49 198 0

原创 C语言基础MessageBox(......)用法详解

MessageBox()   功能显示一个消息对话框。   语法MessageBox(text,title{,icon{,button{,default}}})   参数title:string类型,指定消息对话框的标题text:指定消息对话框中显示的消息,该参数可以是数值数据类型、字符串或boo...

2020-04-28 21:05:15 116 0

原创 OpenCV积分图函数:integral ()详解

/**************************************************************************************************/ // 函数名称:OnMenu020503() // 函数功能:“对角积分图”菜单。 // 函数参...

2020-04-28 21:02:30 99 0

原创 用最小二乘法拟合任意次函数曲线(C#)

///<summary> ///用最小二乘法拟合二元多次曲线 ///</summary> ///<param name="arrX">已知点的x坐标集合</param> ///<param name="arrY&q...

2020-04-03 21:56:28 58 0

原创 最小二乘法C#实现,简单代码

线性函数模型 典型的一类函数模型是线性函数模型。最简单的线性式是,写成矩阵式,为 直接给出该式的参数解: 和 其中,为t值的算术平均值。也可解得如下形式: b1为斜率,b0为截距,可以先根据x,y数组,以及上面的公式先计算出斜率,再计算截距。 因为原来参考代码中,返回为一个数组,根据与原...

2020-04-03 21:55:39 64 0

原创 C#中如何复制窗体到另一个项目

在原项目的磁盘文件夹中找到 Form1.cs Form1.Designer.cs Form1.resx 这三个文件,然后拷贝到新项目的文件夹下, 在VS中的新项目右键点击“添加”-“现有项” 自动跳到当前项目的文件夹下,将Form1.cs添加即可 注意:如果新项目是控制台应用程序这种...

2020-04-03 21:48:52 130 0

原创 C#中对虚拟属性和抽象属性的重写,重写label实例

从下面这个例子可以看出来区别 public abstract class A { //抽象属性不能有实现代码 public abstract string AbstractProperty { get; set; } ...

2020-04-01 20:23:30 82 0

原创 c#滚动条创建实例,多线程

1.滚动条 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using...

2020-03-31 21:55:36 48 0

原创 c#中代码中多线程动态创建progressbar的实例,概念很重要可扩展很多类似概念

以下是代码中创建progressbar的实例 int count = 0; private void button4_Click(object sender, EventArgs e) { Thread th = new Thread(() => { Form form = new For...

2020-03-31 21:45:23 50 0

原创 C#winform使用进度条

在用c#做WinFrom开发的过程中。我们经常需要用到进度条(ProgressBar)用于显示进度信息。这时候我们可能就需要用到多线程,如果不采用多线程控制进度条,窗口很容易假死(无法适时看到进度信息)。下面我就简单结合一个我写的例子给大家做一个介绍。 第一步:设计界面不说了...注意需要引用 u...

2020-03-31 21:41:42 48 0

原创 windows消息机制(MFC)

消息分类与消息队列 Windows中,消息使用统一的结构体(MSG)来存放信息,其中message表明消息的具体的类型, 而wParam,lParam是其最灵活的两个变量,为不同的消息类型时,存放数据的含义也不一样。 time表示产生消息的时间,pt表示产生消息时鼠标的位置。 按照类型...

2020-03-31 21:40:10 73 0

原创 MFC消息详解 (WindowProc|OnCommand|OnNotify)

1. 怎样使用MFC发送一个消息用MFC发送一个消息的方法是, 首先,应获取接收消息的CWnd类对象的指针; 然后,调用CWnd的成员函数SendMessage( )。 LRESULT Res=pWnd->SendMessage(UINT Msg, WPARAM wParam, LPA...

2020-03-31 21:39:06 29 0

原创 MFC原理 消息传递

一丶简介       通过上一讲我们的消息映射表.我们得知. 消息映射表 会保存父类的MessageMap 以及自己当前的消息结构体数组. 消息传递是一层一层的递进的.那么我们现在要看一下怎么递进的. 要学习的知识     1.窗口创建的流程.以及默认的回调函数     2.消息处理流程...

2020-03-31 21:38:24 47 0

原创 对窗口过程函数WndProc()的一点理解

函数原型: LRESULTCALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) 窗口过程函数决定了当一个窗口从外界接收到不同的信息时,所采取的不同反应,即主要用于处理发送给窗口的信息。hwnd是要处理窗口...

2020-03-31 21:37:02 64 0

原创 MFC 消息响应与消息处理过程

WPARAM 和 LPARAM,消息响应机制 wParam和lParam 这两个是Win16系统遗留下来的产物,在Win16API中WndProc有两个参数: 一个是WORD类型的16位整型变量;另一个是LONG类型的32位整型变量。因此根据匈牙利命名法,16位的变量就被命名为wParam, 3...

2020-03-31 21:36:02 73 0

原创 c#中获取控件窗体句柄,获取窗体等的一些操作

1.Control.Handle 就是获取控件绑定到的窗口句柄。 2.control.IsHandleCreated 控件是否有与其关联的句柄 3.WinForm自定义函数FindControl实现按名称查找控件 public static Control FindContro...

2020-03-31 21:31:46 286 0

原创 C# 多线程修改控件时遇到:创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke

一般在多线程调用UI控件时,涉及到跨线程修改UI,需要使用委托,比如如下: this.Invoke((MethodInvoker)delegate { btnRefresh.Enable...

2020-03-31 20:59:59 56 0

原创 关于opencv中Mat赋值(浅拷贝,深拷贝)原理

问题点: 有两个垫对象:mat_1和mat_2将mat_2赋值给mat_1(mat_1 = mat_2)后,改变mat_1,mat_2也会被改变(这里的改变是指图像处理)。 原因: mat_1 = mat_2是浅拷贝,他们虽然不同的矩阵头,但却共享内存空间。以至于改变其中一个,另一个也会...

2020-03-28 21:18:23 63 0

原创 c#使用System.Windows.Forms.DataVisualization.Charting.dll绘制图表实例

首先下载System.Windows.Forms.DataVisualization.Charting.dll,然后引用到项目中 手动在代码中创建chart类型并将其添加到某个控件中(control.controls.add(chart)),然后参数初始化添加样式和数据就可以了。 以下是效果图...

2020-03-16 21:03:42 247 0

原创 c#中chart绘制曲线,柱状图等

通常我们需要在界面中绘制波形图,柱状图,折线图等等。此时用到Chart控件是非常方便的。 先以图一条样条曲线(Spline)为例 (1)在Visual Studio中新建一个“Windows窗体应用程序” (2)在Form1上布置一个Chart控件。默认地,Chart控件显示的是直方图 ...

2020-03-16 20:35:20 256 0

原创 C#序列化与反序列化以及深拷贝浅拷贝方法

基于二进制数据流的序列化和反序列化 /// <summary> /// 序列化 /// </summary> /// <typeparam name="T"></t...

2020-03-16 20:31:43 26 0

原创 c# 深拷贝各种实现方式

1:利用反射实现 public T DeepCopy<T>(T obj) { object retval= Activator.CreateInstance(typeof(T)); PropertyInfo[] pis = typeof(T).GetProperties();...

2020-03-16 20:30:39 76 0

原创 vs项目中在生成中设置exe的输出路径,可定为不同版本

vs项目中在生成中设置exe的输出路径,可定为不同版本,便于调试发布。

2020-03-13 22:26:06 92 0

原创 c#中invoke和beginvoke的区别

thread th=new thread(()=>{ control.invoke(new Action(()=>{ thread.sleep(5000); })); //dosometings }); th.start(); 这个线程里的dosometings将在500...

2020-03-13 22:20:08 91 0

原创 C++项目库包含,dll引用问题,直接把缺失的dll或库放置可执行文件里

在c++的项目中如果设置了库包含于库引用,设置了引用或包含的路径,如果单拿出debug文件运行里面的exe,提示报错缺少引用的文件,可直接将缺少的文件等放置debug目录下即可运行。 如果运行exe程序提示缺少dll,或系统的dll,可直接下载缺少的dll放置系统盘,也可放置在debug里,两者...

2020-03-13 21:12:06 134 0

原创 c#利用宏定义调试代码

#define 使用#define来定义符号。将符号用作传递给#if指令的表达式时,该表达式的计算结果为true,如以下示例所示: #define DEBUG 说明 #define指令不能用于声明常量值,常量定义例:public const int value = 213; C# 中的...

2020-03-09 18:04:20 39 0

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