
c#
生死看淡,不服就干
天之道,损有余而补不足;人之道,损不足以奉有余。
展开
-
windows快捷方式图标变成空白
今天突然有客户说应用程序快捷方式图标变成了空白,就研究了一下,网上找了一下很多都说是什么图标缓存有问题,试过之后发现并不能解决问题。然后发现用户的文件上都一把黄色的小锁的标志,查了一下说是文件属性里面设置加密之后就会这要,于是就猜测有没有可能是这个导致。把这个勾选去掉,再重新生成快捷方式之后就正常了。设置文件夹加密,如果勾选就去掉。原创 2023-11-18 14:57:02 · 1161 阅读 · 0 评论 -
cefsharp 93.1.140 如何在js中暴露c#类
cefsharp93如何暴露c#类原创 2023-11-10 17:40:36 · 631 阅读 · 0 评论 -
如何使用WinRAR的自解压功能做一个简单的安装包
WinRAR的自解压功能会打包出来一个.exe的压缩包,双击之后就会自动解压,今天突发奇想,那是不是可以用这个功能来实现windows平台的程序打包咧?想到就做,百度了一下果然聪明人就是多。我要实现的功能是:打包之后,双击运行解压到当前目录,并且生成一个桌面快捷方式。直接上图:1.右键选择添加到压缩软件,选中自解压选项2.高级->自解压选项3.选中在当前文件夹创建 这边有一点要注意,一进来可能无法选中在当前文件夹创建,只需要在解压路径中随便输入一些,就可以选中了,选中之后再把解压路径中的路原创 2020-10-18 16:50:35 · 1748 阅读 · 0 评论 -
cefsharp 84.4.10 如何在js中暴露c#类
从cefsharp79版本开始,旧的RegisterJsObject方法被删除了。也就是说想使用79以后的版本,就必须更新js暴露c#对象的方法了。话不多说直接上代码:BindingOptions bindingOption = new BindingOptions { CamelCaseJavascriptNames = false, Binder = BindingOptions.DefaultBinder.Binder };CWBrowser.JavascriptObjectReposit原创 2020-08-28 15:39:56 · 1263 阅读 · 1 评论 -
记一个主线程sleep导致子线程卡住事件
话不多说直接上代码,主线程代码:public void Stop() { isAutoRead = false; while (isRunning) Thread.Sleep(100); }子线程代码:private void LoopReadCard() { isRunning = true; CefCardReader r原创 2020-08-26 13:53:28 · 2249 阅读 · 0 评论 -
cefsharp的getframe()方法获取特定名词的iframe页面失败的原因?
首先介绍一下,项目前端框架使用的layui。使用layui.open{type:2,success:{ //修改iframe标签的name属性}打开一个iframe弹窗,然后在success回调中修改iframe的name属性。这个时候发现通过cefsharp的getframe()方法获取这个对应name的iframe页获取不到,调试了一下,发现是cefsharp中的name没改掉,也就是前端页面虽然改了,但是,cefsharp的内核中这个iframe所对应的IFrame对象的name属性并没有改变,这原创 2020-08-17 11:03:45 · 2571 阅读 · 0 评论 -
在打印服务器中新增纸张规格后,在打印机首选项中的自定义纸张中看不到的原因
最近在研究lodop这个web打印控件,在使用的过程中因为客户需要两种纸张规格进行打印,为了简化打印过程,通过lodpo的LODOP.SET_PRINT_PAGESIZE(1, 2410, 1400, "CreateCustomPage"); LODOP.ADD_PRINT_HTM(10, 0, "100%", "100%", strFormHtml);来设置一个自定义的纸张规格,这里面遇到一个问题,一开始我是这样设置的LODOP.SET_PRINT_PAGESIZE(1, 2800, 1400, "C原创 2020-06-10 11:35:21 · 7891 阅读 · 0 评论 -
c# abstract virtual new 修饰的方法的调用
public abstract class AbstractFactory { public new string GetType() { return "AbstractFactory"; } public virtual string GetName() { return "AbstractFactory"; } public str原创 2020-05-27 21:57:58 · 273 阅读 · 0 评论 -
c#使用AForge库调用usb摄像头进行拍照
最近由于老项目中使用的AForge.net库调用摄像头拍照,使用起来会出现卡慢的问题。于是决定对这块进行一下优化。首先我们需要在项目中引入如图所示的几个库接下来我们需要在工具箱中添加AForge.Controls对应的控件。一定要使用VideoSourcePlayer控件来播放视频源,这样才能避免长时间使用摄像头导致的卡慢问题.我一开始使用的是抓取视频源的帧数据绘制到一个pictureb...原创 2019-11-19 10:53:17 · 2763 阅读 · 0 评论 -
windows自定义控件开发-圆角TextBox
winform中的TextBox控件没有Radius属性,无法设置文本款为圆角。然后就想自己写一个自定义的圆角控件。一开始想,既然要写那就从头开始写,于是就开始写了起来。刚开始一切都很顺利,等我把界面画完之后,老天跟我开了一个大玩笑,我发现直接从Control类继承写不下去了,太复杂我要去研究一下源码,然后发现源码中的TextBox是一个mfc控件。好吧,这么麻烦,算了。换个思路,后来我就想我只需...原创 2019-08-09 17:37:36 · 4724 阅读 · 2 评论 -
winform自定义控件开发-前言
最近出于美化项目UI的需求,本来想用DEVexpress的控件库。但是下载下来一看有点复杂而且还要付费。想了一下还是自己写吧!虽然之前也写过一些自定义控件,但是都是把windows现有的控件组合一下的用户控件。从Control继承的完全自己绘制的控件了解的就不是很深了。就找了一个最简单的label先来练练手。首先,总结一下基础知识,winform的所有界面控件包括窗体控件都是派生于Control...原创 2019-08-07 15:26:37 · 1007 阅读 · 0 评论 -
winform实现透明控件
前言由于项目需求需要用到透明控件。但是,winform项目的控件透明都是将父控件的图像绘制成子控件的背景来实现的,这种透明存在很大的问题,不合格。然后,我想到wpf在透明这块做的比较好,想是不是可以在winform中使用wpf控件来实现,结果发现还是走不通,由于elementhost控件是winform中的控件,而wpf控件必须要用它来承载才能在winform中实现,不合格。最后,百度发现了...原创 2019-01-17 17:39:46 · 7628 阅读 · 5 评论 -
由实现动画效果到第一次认识初等函数
前言三角函数,指数函数,幂函数这些大家应该都学习过。但是,以前只是知道有这么个东西,到底在现实生活中是用来干嘛的我一直不知道,直到今天,项目需要实现一些动画效果,本来想看看有没有现成的东西可以用,找来找去发现不是收费就是不好用,最终决定自己去写,然后就百度了一下动画实现看了下面这个链接[动画算法](http://www.sohu.com/a/244443064_701814)。动画效果的实现...原创 2019-01-15 12:30:38 · 193 阅读 · 0 评论 -
使用win32API获取打印机是否处于脱机状态
最近在写一个打印服务器的项目,需要获取本地打印机是否脱机的状态,上网查了一下,都是使用的下面的代码 public static int GetPrinterStatusInt(string PrinterName) { int intRet = 0; IntPtr hPrinter; PrintAPI.str...原创 2019-06-05 11:17:10 · 3488 阅读 · 3 评论 -
使用SetPrinter修改打印机名称
最近项目需要修改打印机名称public static bool SetPrinterName(string OldName, string newName) { IntPtr hPrinter; PrintAPI.structPrinterDefaults defaults = new PrintAPI.structPrinterD...原创 2019-06-06 16:37:39 · 2889 阅读 · 0 评论 -
编译Cefsharp63.0.3版本项目源码
工具和环境IDE:VS2013.netFramework:4.5.2本来想用最新版本的Cefsharp,但是,最新版本的编译至少需要VS2015,而我的电脑上安装的是VS2013,重新安装VS2015太麻烦,于是我就选择了63.0.3这个版本。这个版本需要的编译和构建环境可以在github的cefsharp项目的主页上看到可以看到从63之后就需要VS2015了。我们先从github上把...原创 2019-06-25 16:12:38 · 2472 阅读 · 0 评论 -
如何在浏览器中打开windows应用程序
最近由于项目需要实现一个类似迅雷从浏览器触发下载链接的功能,于是研究了一下怎么从浏览器中打开本地应用(仅限windows平台)。首先上网查了一些资料,然后发现这个功能的实现主要跟注册表有关系。需要在制作程序安装包的时候,写入一些注册表信息。我首先是在注册表中找到迅雷的注册表,如下所示:Windows Registry Editor Version 5.00[HKEY_CLASSES_ROO...原创 2019-07-18 09:54:11 · 10078 阅读 · 0 评论 -
如何解决vs制作的安装包生成的桌面快捷方式打开文件位置不正确的问题
之前在使用vs制作安装包的过程中发现一个问题,就是这个安装包生成的桌面快捷方式,打开文件位置功能不能真正定位到程序的安装目录。最近有时间就想解决这个问题,查了一些资料,看网上说要使用一个工具修改安装包才能解决,就觉得太麻烦了。最后又查了一下看到了另一个解决方案,只需要在制作安装包时多生成一个桌面快捷方式就可以解决这个问题。点击Shortcuts,右键Desktop,选择New Shor...原创 2019-07-18 10:07:15 · 2551 阅读 · 0 评论 -
windows自定义控件开发-加载框
windows自带的加载控件已经不能满足我的要求了,觉得太丑,于是决定自己写一个。先上效果图。下面是源码public partial class FengLoadingCircle : Control { #region 常数 private const double NumberOfDegreesInCircle = 360; pr...原创 2019-08-13 15:51:01 · 738 阅读 · 0 评论 -
c# async await 的使用
c# async await 的使用一直没有搞懂这个最新的异步特性,今天研究了一下,记录一下成果。话不多说,先上代码static void Main(string[] args) { Console.WriteLine("start"); test(); Console.WriteLine("Main e...原创 2018-12-19 10:43:04 · 252 阅读 · 0 评论