摘要: 前言 在客户端认证的过程中,我们总要获取客户机的唯一识别信息,曾经以为MAC地址是不会变的,但是现在各种改,特别是使用无线上网卡,MAC地址插一次变一次,所以这样使用MAC就没有什么意义了,怎么办,又开始求助Google,最后找到一个折中的方案 原理 通过获取主板、处理器、BIOS、mac、显卡、硬 阅读全文
posted @ 2021-03-09 13:46 passtime 阅读(890) 评论(0) 推荐(0) 编辑
摘要: 函数是实现程序功能的最基本单位,每一个程序都是由一个个最基本的函数构成的。写好一个函数是提高程序代码质量最关键的一步。本文就函数的编写,从函数命名,代码分布,技巧等方面入手,谈谈如何写好一个可读性高、易维护,易测试的函数。 命名 首先从命名说起,命名是提高可读性的第一步。如何为变量和函数命名一直是开 阅读全文
posted @ 2021-03-09 11:53 passtime 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 【1】重用项目窗体解决方案: 1. 把FmMain.cs 和 FmMain.Designer.cs 和 FmMain .resx 三个文件复制到程序目录下; 2. 在vs里面添加现有项, 选择FmMain.cs, 不用选择其它文件, 完成操作后重新打开窗口。 【2】无法读写注册表解决方案 程序读写注 阅读全文
posted @ 2021-03-09 11:49 passtime 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 总结以下三种方法,实现c#每隔一段时间执行代码: 方法一:调用线程执行方法,在方法中实现死循环,每个循环Sleep设定时间; 方法二:使用System.Timers.Timer类; 方法三:使用System.Threading.Timer,值得注意的是一定要声明成全局变量以保持对Timer的引用,否 阅读全文
posted @ 2021-03-09 11:46 passtime 阅读(1526) 评论(0) 推荐(0) 编辑
摘要: 在文本框中输入一个数字,点击开始累加按钮,程序计算从1开始累计到该数字的结果。因为该累加过程比较耗时,如果直接在UI线程中进行,那么当前窗口将出现假死。为了有更好的用户体验,程序启动一个新的线程来单独执行该计算,然后每隔200毫秒读取一次累加结果,并把结果显示到文本框下方的label控件中。同时,程 阅读全文
posted @ 2021-03-09 11:44 passtime 阅读(964) 评论(0) 推荐(0) 编辑
摘要: 恢复内容开始 null 恢复内容结束 阅读全文
posted @ 2021-03-09 11:35 passtime 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 在使用Vpro的过程中经常需要用到索引Patmax或者Blob的结果量,下面大概讲讲实现过程. 首先创建DataGridView表头,代码如下: DataTable blobtable = new DataTable(); blobtable.Columns.Add("ID", Type.GetTy 阅读全文
posted @ 2021-03-09 10:58 passtime 阅读(1015) 评论(0) 推荐(1) 编辑
摘要: C#如何防止程序多次运行的技巧 一、使用互斥量Mutex弄懂了主要的实现思路之后,下面看代码实现就完全不是问题了,使用互斥量的实现就是第四点的思路的体现,我们用为该程序进程创建一个互斥量Mutex对象变量,当运行该程序时,该程序进程就具有了这个互斥的Mutex变量,如果再次运行该程序时,通过检查该互 阅读全文
posted @ 2021-03-09 10:45 passtime 阅读(307) 评论(0) 推荐(0) 编辑