自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (3)
  • 收藏
  • 关注

原创 注册注销COM组件

使用管理员权限,启动WINDOWS的命令提示符窗口。执行以下命令实现注册注销COM组件。注册COM组件regsvr32 /u X:\\XXCOM.dll注销COM组件regsvr32 /u X:\\XXCOM.dllX:\\XXCOM.dll是需要注册或注销的COM组件的绝对路径。...

2020-12-25 16:34:22 802

原创 使用WPF的PopUp类实现父子窗口关联

一、POPUP窗口可以显示在屏幕任何地方,它们一般没有父窗口,但是如果明确调用SetParent,这类窗口也可以有父窗口。 [DllImport("user32.dll", EntryPoint = "SetParent")] public static extern int SetParent(IntPtr hWndChild, IntPtr hWndNewParent);这样设置之后,popup窗口会做为子窗口嵌入进父窗口内。从效果上来看,几乎不再有Popup的特

2020-10-28 10:48:54 840 1

原创 WPF程序退出后,进程未关闭

进程未关闭的原因: 1.有子线程未关关闭 2.父窗口ShowDialog方式弹出子窗口。在强制关闭父窗口之前,未对子窗口显式的关闭。这样的结果是,子窗口看似被关闭,但ShowDialog函数并不会返回。...

2020-10-28 10:32:14 1228

原创 Eclipse 的断点调试方法_单步调试(Python为例)

一、切换运行模式为Debug模式。点击窗口右上角的这个小虫子按钮(如果想切换回去,则点击小虫子左边的那个按钮)二、设置断点双击代码左侧、或者在代码左侧左键选择“添加断点”三、点击run->debug,或按F11。开始调试四、如果需要单步调试,则按F5、 F6(F5)单步执行程序,遇到方法时进入;(F6)单步执行程序,遇到方法时跳过;(F7)单步执行程序,从当前方法跳出;(F8)直接执行程序。遇到断点时暂停;按F5就是一层层深入的debug相当于剥葱样,会进入每个

2020-09-29 09:21:05 873

原创 新加固态硬盘后,如何迁移操作系统到固态硬盘上?

网上人很多人推荐使用“分区助手”或其它工具,利用这些软件进行迁移。如类似以下界面的工具:再修改注册表的盘符,然后将固态硬盘设为活动分区和启动盘。说是这个就OK了。理论上有道理,我实际操作下来,电脑系统再也启动不了。。所以,安全起见,还是最好做自制一个启动盘,将新系统直接安装到固态硬盘。再把之前的系统盘的有用信息拷贝过来。...

2020-09-28 21:44:39 3051 2

原创 Excel读写的性能对比(pandas、openpyxl、ExcelDataReader、CloseXml、NPOI及Interop.Excel)

因为需要用过Excel 文件的数据读写,所以特别调查了一下主流的几种读写excel的方法及性能。测试环境:win10 + 8G内存测试数据:excel文件(100万行*100列)操作:读取Excel文件A的数据,并另存到Excel文件B测试结果:测试工具 读取时间(s) 保存时间(s) python/pandas 56.8 138.1 python/openpyxl 84.5 109.3 C#/ExcelDataReader 29.

2020-09-25 09:43:21 2120 2

原创 python写excel文件时,报【xlsxwriter.exceptions.FileSizeError】异常的对应

原因:python写excel文件时,文件大小超过了4G。修改方法,workbook.allow_zip64属性设为Ture。即可以生成超过4G大小的Excel文件。例: workbook = xlsxwriter.Workbook('demo.xlsx', {'constant_memory': True}) workbook.allow_zip64 = True...

2020-09-24 17:05:59 2827

原创 利用pthon的dask.dataframe和xlsxwriter库,将CSV文件转Excel

遇到一个需要将CSV文件转换为excel文件的问题。因为是大数据(超过100万行*100列),所以多数pthon自带的转换方法都不可行。如:pandas,8G内存的电脑环境,只能处理50万行的数据,而且速度太慢。 使用dask.dataframe读取csv文件,然后遍历数据,同时用xlsxwriter写入excel。这种方法的速度比pandas自带的转换函数要快一些。#!/usr/bin/python3# -*- coding:utf-8 -*- import xlsxwriter...

2020-09-24 16:48:04 603

原创 用python的xlsxwriter库写EXCEL大文件时,内存占用过高

用python的xlsxwriter库创建较大的Excel文件时,会占用过高的内存。很容易导致程序异常结束。设置constant_memory属性后,就可以避免这个问题。例: workbook = xlsxwriter.Workbook('demo.xlsx', {'constant_memory': True})...

2020-09-24 15:14:07 1564 1

原创 eclipse创建phthon工程出错“Project interpreter not specified”

原因:没有导入Python的开发环境。对应方法:一、打开Eclipse的Window --> Preferences菜单二、选择python的安装路径保存设置,就可以了。

2020-09-21 11:34:18 214

原创 windows环境下,安装python库

一、win+r打开“运行”窗口,二、输入cmd,进入控制台命令行窗口。转到python的安装目录 如:cd C:\Users\PSH\AppData\Local\Programs\Python\Python38\Scripts三、输入需要安装的库名。如:pip install openpyxl安装完成。...

2020-09-21 11:15:20 278

原创 C#里使用JsonConvert,处理json字符串与结构体之类的转换

网络通信或不同进程之间的数据传输,常会使用JSON字符串进行传输。在C#环境,可以使用Newtonsoft.Json的JsonConvert类 完成对字符串和结构体之间的转换。一、从NuGet管理里,加载Newtonsoft.Json包二、引用Newtonsoft.Jsonusing Newtonsoft.Json;三、使用SerializeObject函数,可以将结构体转化为字符串 string strJson = JsonConvert.Ser...

2020-09-18 16:40:06 4680

原创 WPF或C#自动生成系统代码_自动生成事件函数

同样,VS也可以使用快捷键的方法,自动生成事件函数。这样也可以提高编程的效率。以KeyDown事件为例,输入”this.KeyDown +=“后按TAB键,即可以生成事件函数 public Form1() { InitializeComponent(); this.KeyDown += Form1_KeyDown; ; } private void Form1_KeyDown(objec

2020-09-17 16:26:13 759

原创 WPF或C#自动生成系统代码_自动生成属性的方法

WPF或C#的编程过程中,经常需要用到属性或依赖。这时,如果全手动书写这些重复的代码太过于费时,还容易出错。而VS本身是有提供自动生成这类代码的快捷方式的。如:自动生成属性输入propa,按两次TAB键,即自动生成属性代码 public int MyProperty { get; set; }输入propdp,按两次TAB键,即自动生成依赖属性代码 public int MyProperty { get...

2020-09-17 16:18:02 1002

原创 (一)机器学习笔记_机器学习是什么

“机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径。”这是比较严谨的解释。 学习之后,我的理解,机器学习其实是在尽可能的模拟人类学习的过程。人类的学习,本身其实一种归纳和i演绎的过程。即,通过言传身教或自身的经历体验,得到对应的处事模型,从而能在未来的生活中做出对应的决策...

2020-09-17 15:49:02 115

原创 使用ExcelDataReader读取excel文件的内容

从官网上可以知道,ExcelDataReader是一个用C#写的轻量级的读取excel的库。所以应该只能读取excel文件,不能对excel文件内容进行修改编辑。但因为ExcelDataReader的读取速度比其它方法更快,所以在处理有超大量数据的excel文件时会常常用到。以 下是使用ExcelDataReader读取excel文件的例子: void ReadExcel(string FilePath) { FileStrea...

2020-09-16 16:00:24 3383 1

原创 WPF禁用指定键盘消息(如:alt+F4)的方法

如果要处理alt或ctrl等组合键,需要在窗外使用变量进行记录。以下代码以alt键为例,禁用alt+F4。alt键按下时,记录状态。并调用【e.Handled = true;】,意为消息已经处理,系统后续不再处理,从而达到禁用指定键盘消息的效果。 private bool AltKeyDown = false; private void Win_PreviewKeyDown(object sender, KeyEventArgs e) {

2020-09-11 16:37:06 1359

原创 使用StretchBlt函数缩小图片时的失真问题

使用StretchBlt函数缩小图片进行显示时,会出现比较明显的失真问题。不同与图片放大问题,缩小图片失真,是因为WINDOWS默认的缩小图片算法,是直接删除掉多余的点信息,从而导致图片显示失真。使用SetStretchBltMode函数,设置缩放模式为HALFTONE,即可解决此问题。注:int SetStretchBltMode(HDC hdc, int iStretchMode);hdc:设备环境句柄。iStretchMode:指定拉伸模式。它可以取下列值,这些值的含义如下:.

2020-09-07 14:42:55 1862

原创 多言语环境下,PointCollection类的Parse函数异常崩溃问题

问题:PointCollection类的Parse函数使用以下方法调用, 会在部分语言(如:法语、西班牙)下崩溃,而在其它一些言语环境(如:英语、中文)下却能正常运行的情况。 Point APoint; Point BPoint; ... string strPoints = $"{APoint} {BPoint}"; var Points = PointCollection.Parse(strPoi

2020-09-07 10:50:33 155

原创 C#工程的多屏处理类分析

C#的多屏处理,通常使用System.Windows.Forms的Screen类,其中 包含了FromControl、FromHandle、FromPoint和FromRectangle 函数。而这几个函数的内部实现如下:.public static Screen FromPoint(Point point){ if (Screen.multiMonitorSupport) { NativeMethods.POINTSTRUCT pt = new NativeMethods.POINTSTR

2020-08-24 13:40:03 402

原创 WPF程序处理多屏显示的显示处理

多屏显示主要有以下情行:通常abcd比较常见,对应的坐标如图。WPF里,可以使用System.Windows.Forms.Screen类对多屏问题进行处理。如:1.指定一个控件,取得这个控件大部分区域让所在屏幕的详细信息 public static Screen FromControl(Control control);2.指定一个对象,取得这个指针的对象大部分区域在屏幕的详细信息 public static Screen FromHandle(IntP...

2020-08-21 15:45:27 1680

原创 WPF程序的自定义控件内,Tab键不能切换焦点的问题

问题状况:自定义的控件内,包含两个按钮。程序加载后,userControl高亮,主窗口被禁用,默认焦点设置在A或B按钮上。如图。一旦切换到其它窗口(即当前窗口无效化),再切回窗口时。TAB键失效。解决方法:在userControl内处理1.当主窗口变为背景窗口时,即处理Deactivated事件,需要记录当前焦点。 focusElement = FocusManager.GetFocusedElement(Now_Grid);//Now_Grid是u...

2020-08-21 15:02:08 679

原创 用C#创建Websocket的客户端

Socket是传输控制层协议,比较灵活,使用的场合比较多。WebSocket是应用层协议,比较易用,网页端使用非常方便。因为有很多phthon程序喜欢用WebSocket 作为服务端进行网络通信。这时,如果需要C#程序做为客户端,则可以使用以下方法。先载NuGet包WebSocketSharp。 string webPath = "ws://127.0.0.1:8001"; WebSocket webSocket = new WebSocket(we...

2020-08-07 16:24:54 6548 1

原创 WPF的MetroWindow风格窗口的SaveWindowPosition属性(自动保存前回窗口位置)的原理调查

<MetroControls:MetroWindow x:Class="MainWindowView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"... SaveWindowPosition="True"...>这里的SaveWindowPosition属性设置为True之后,就可以实现窗口前回最后停留的位置信息的保存和读取。经过调查发现,MahApps.Metr...

2020-08-07 09:10:48 765

原创 如何使用TortoiseGit刪除branch

1.在需要操作的代码上点击右键2.选择【TortoiseGit】->【Browse references】3.在弹出界面选择【remotes】4.在右侧列表点击右键,选择【Delete branch】删除需要删除的分支即可。

2020-07-07 09:32:45 1402

原创 ZipArchive压缩类的 Update模式压缩数据时,内存使用过高的问题。

C#的ZipArchive压缩类,是常用的数据压缩类。本身包含有三种压缩模式:Read,Create,Update。处理新创建的数据压缩,使用Create的模式,压缩的效率很好,占用的内存也不大(压缩2G的文件,也只耗费15M左右内存)。 如果遇到压缩中断后,续压缩的情况时,如果使用Update模式,效率很好,没什么问题。但消耗的内存会和被压缩的数据成正相关。如果续压缩的数据是1G,那内存使用峰值会在2G左右。很容易会出现内存使用问题,从而导致程序异常结束。 原因:Cre...

2020-05-21 16:44:11 690

原创 WCF问题,消息函数中执行WCF函数,消息函数会多次进入问题

问题,例:void xxxxDlg::Onxxxx(){ }

2020-05-21 15:05:57 221 2

原创 TAB顺问题,切换到CheckBox控件时,有焦点无虚框的问题

问题:TAB键切换控件时,CheckBox控件没有被选中的状态(即,没有选中的虚框)。原因:因为代码代码完全重写了PreTranslateMessage的TAB切换焦点的逻辑,即,使用SetFocus()手动设置焦点的切换顺序。使得PreTranslateMessage函数的系统默认处理未被执行,出现如题的错误。解决方法:在TAB键处理逻辑中,如果下一个焦点会是CheckBox控件时,不做...

2019-12-17 11:09:27 440

原创 CStringArray做为传出参数使用问题

  一、CStringArray类型不能做为返回值,因为此类型没有拷贝构造函数。  二、只能使用CStringArray做为参数,以传出参数的方式对参数值进行变更。  三、被引用的DLL函数参数,不能使用CStringArray做为传出参数,否则会报异常。...

2018-11-20 11:34:36 1094

Active绘图小控件

自己用MFC写的一个Active小控件,用于在第一象限画曲线。功能简单,初学者可以看看。

2010-11-05

深入浅出mfc简体中文版

简体中文版深入浅出mfc。对于学习MFC编程挺有用。

2010-09-21

VC MFC串口通讯小工具代码

参考串口调试助手程序,使用MSComm控件完成的串口通讯。因发送函数执行有延时,会影响发送量。可做为串口入门学习用。

2010-07-21

空空如也

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

TA关注的人

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