博客园 - 把爱延续
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=1436
2023-11-01T11:09:04Z
把爱延续
https://www.cnblogs.com/08shiyan/
feed.cnblogs.com
https://www.cnblogs.com/08shiyan/p/10487943.html
[古怪问题] Marshal.GetActiveObject 在管理员模式下无法正常运行 - 把爱延续
问题: var obj = Marshal.GetActiveObject("PowerPoint.Application") 该代码在管理员模式下运行无法正常获取正在运行的 PPT PowerPoint.Application 对象,而在非管理员模式下可以正常获取。 针对该问题,微软的msdn官方
2019-03-07T02:28:00Z
2019-03-07T02:28:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】问题: var obj = Marshal.GetActiveObject("PowerPoint.Application") 该代码在管理员模式下运行无法正常获取正在运行的 PPT PowerPoint.Application 对象,而在非管理员模式下可以正常获取。 针对该问题,微软的msdn官方 <a href="https://www.cnblogs.com/08shiyan/p/10487943.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/10381892.html
[.NET] 一个获取随机数的新方式 - 把爱延续
备注:RNGCryptoServiceProvider This type implements the IDisposable interface. When you have finished using the type, you should dispose of it either dir
2019-02-15T02:00:00Z
2019-02-15T02:00:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】备注:RNGCryptoServiceProvider This type implements the IDisposable interface. When you have finished using the type, you should dispose of it either dir <a href="https://www.cnblogs.com/08shiyan/p/10381892.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6843097.html
BitBlt 函数 详解, StretchBlt、SetStretchBltMode、SetBrushOrgEx 按句柄截图、直接截取缩略图 - 把爱延续
BitBlt 该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。 BitBlt 该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。 函数原型 [DllImport("gdi32.dll")] public sta
2017-05-11T15:38:00Z
2017-05-11T15:38:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】BitBlt 该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。 BitBlt 该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。 函数原型 [DllImport("gdi32.dll")] public sta <a href="https://www.cnblogs.com/08shiyan/p/6843097.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6819298.html
WPF 自定义ColorDialog DropDownCustomColorPicker - 把爱延续
今天分享一个 WPF 版的ColorDialog,该控件源自 这里,不过笔者已经该控件做了大量的修改工作,以适应自己的产品需求,闲话少说,先看看效果图: 1、DropDownCustomColorPicker 效果图 先看原项目的(喜欢这种方式的,请到 这里 下载源码 ) 被笔者修改之后的效果图:
2017-05-06T16:58:00Z
2017-05-06T16:58:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】今天分享一个 WPF 版的ColorDialog,该控件源自 这里,不过笔者已经该控件做了大量的修改工作,以适应自己的产品需求,闲话少说,先看看效果图: 1、DropDownCustomColorPicker 效果图 先看原项目的(喜欢这种方式的,请到 这里 下载源码 ) 被笔者修改之后的效果图: <a href="https://www.cnblogs.com/08shiyan/p/6819298.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6733651.html
.NET插件技术-应用程序热升级 - 把爱延续
今天说一说.NET 中的插件技术,即 应用程序热升级。在很多情况下、我们希望用户对应用程序的升级是无感知的,并且尽可能不打断用户操作的。 虽然在Web 或者 WebAPI上,由于多点的存在可以逐个停用单点进行系统升级,而不影响整个服务。但是 客户端却不能这样做,毕竟用户一直在使用着。 那么有没有一种
2017-04-19T09:51:00Z
2017-04-19T09:51:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】今天说一说.NET 中的插件技术,即 应用程序热升级。在很多情况下、我们希望用户对应用程序的升级是无感知的,并且尽可能不打断用户操作的。 虽然在Web 或者 WebAPI上,由于多点的存在可以逐个停用单点进行系统升级,而不影响整个服务。但是 客户端却不能这样做,毕竟用户一直在使用着。 那么有没有一种 <a href="https://www.cnblogs.com/08shiyan/p/6733651.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6691487.html
.NET 同步与异步 之 EventWaitHandle(Event通知) (十三) - 把爱延续
本随笔续接:.NET 同步与异步 之 Mutex (十二) 在前一篇我们已经提到过Mutex和本篇的主角们直接或间接继承自 WaitHandle: Mutex类,这个我们在上一篇已经讲过。 EventWaitHandle 类及其派生类AutoResetEvent 和 ManualResetEvent
2017-04-10T15:18:00Z
2017-04-10T15:18:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】本随笔续接:.NET 同步与异步 之 Mutex (十二) 在前一篇我们已经提到过Mutex和本篇的主角们直接或间接继承自 WaitHandle: Mutex类,这个我们在上一篇已经讲过。 EventWaitHandle 类及其派生类AutoResetEvent 和 ManualResetEvent <a href="https://www.cnblogs.com/08shiyan/p/6691487.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6691283.html
P Invoke struct结构 - 把爱延续
一、获取Struct 二、传递Struct 三、C++ 类型与 C#类型对应关系 //c++:HANDLE(void *) c#:System.IntPtr //c++:Byte(unsigned char) c#:System.Byte //c++:SHORT(short) c#:System.I
2017-04-10T14:24:00Z
2017-04-10T14:24:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】一、获取Struct 二、传递Struct 三、C++ 类型与 C#类型对应关系 //c++:HANDLE(void *) c#:System.IntPtr //c++:Byte(unsigned char) c#:System.Byte //c++:SHORT(short) c#:System.I <a href="https://www.cnblogs.com/08shiyan/p/6691283.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6593593.html
.NET 同步与异步 之 Mutex (十二) - 把爱延续
本随笔续接:.NET 同步与异步 之 线程安全的集合 (十一) 本随笔 及 接下来的两篇随笔,将介绍 .NET 同步与异步系列 的最后一个大块知识点:WaitHandle家族。 抽象基类:WaitHandle, 三个子类: EventWaitHandle(Event通知) 、Mutex(进程同步锁)
2017-03-21T08:03:00Z
2017-03-21T08:03:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】本随笔续接:.NET 同步与异步 之 线程安全的集合 (十一) 本随笔 及 接下来的两篇随笔,将介绍 .NET 同步与异步系列 的最后一个大块知识点:WaitHandle家族。 抽象基类:WaitHandle, 三个子类: EventWaitHandle(Event通知) 、Mutex(进程同步锁) <a href="https://www.cnblogs.com/08shiyan/p/6593593.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6549522.html
.NET 同步与异步 之 线程安全的集合 (十一) - 把爱延续
本随笔续接:.NET 同步与异步 之 警惕闭包(十) 无论之前说的锁、原子操作 还是 警惕闭包,都是为安全保驾护航,本篇随笔继续安全方面的主题:线程安全的集合。 先看一下命名空间:System.Collections.Concurrent,常用的类型有(均为泛型):BlockingCollectio
2017-03-14T10:05:00Z
2017-03-14T10:05:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】本随笔续接:.NET 同步与异步 之 警惕闭包(十) 无论之前说的锁、原子操作 还是 警惕闭包,都是为安全保驾护航,本篇随笔继续安全方面的主题:线程安全的集合。 先看一下命名空间:System.Collections.Concurrent,常用的类型有(均为泛型):BlockingCollectio <a href="https://www.cnblogs.com/08shiyan/p/6549522.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6542839.html
[WPF] VisualBrush 中的布局 - 把爱延续
今天插一篇随笔。说一说上周五遇到的一个布局问题,问题大概是这样的:需要在一个快区域上添加一张透明的背景图片,由于区域较大、并且宽高都不是固定大小,图片较小 所以图片需要居中显示。除此之外还需要在图片的透明部分添加一个非透明的纯色。 比如:最终的效果图、如下图所示: 当然如果只是为了实现这种效果、实现
2017-03-13T06:56:00Z
2017-03-13T06:56:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】今天插一篇随笔。说一说上周五遇到的一个布局问题,问题大概是这样的:需要在一个快区域上添加一张透明的背景图片,由于区域较大、并且宽高都不是固定大小,图片较小 所以图片需要居中显示。除此之外还需要在图片的透明部分添加一个非透明的纯色。 比如:最终的效果图、如下图所示: 当然如果只是为了实现这种效果、实现 <a href="https://www.cnblogs.com/08shiyan/p/6542839.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6511264.html
.NET 同步与异步 之 警惕闭包(十) - 把爱延续
本随笔续接:.NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九) 至此、同步与异步 相关的常规操作(比较常见的操作)、差不多已经介绍完毕。 本随笔就着重说一下闭包、因闭包可能会导致一些意想不到的的bug。 (PS:至于 WaitHandle家族相关随笔、最后补
2017-03-07T03:00:00Z
2017-03-07T03:00:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】本随笔续接:.NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九) 至此、同步与异步 相关的常规操作(比较常见的操作)、差不多已经介绍完毕。 本随笔就着重说一下闭包、因闭包可能会导致一些意想不到的的bug。 (PS:至于 WaitHandle家族相关随笔、最后补 <a href="https://www.cnblogs.com/08shiyan/p/6511264.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6479600.html
.NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九) - 把爱延续
本随笔续接:.NET 同步与异步之锁(ReaderWriterLockSlim)(八) 之前的随笔已经说过、加锁虽然能很好的解决竞争条件,但也带来了负面影响:性能方面的负面影响。那有没有更好的解决方案呢?有,原子操作、即 Interlocked 这个类。 一、让我们先看一个计数的原子操作Demo /
2017-03-01T01:17:00Z
2017-03-01T01:17:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】本随笔续接:.NET 同步与异步之锁(ReaderWriterLockSlim)(八) 之前的随笔已经说过、加锁虽然能很好的解决竞争条件,但也带来了负面影响:性能方面的负面影响。那有没有更好的解决方案呢?有,原子操作、即 Interlocked 这个类。 一、让我们先看一个计数的原子操作Demo / <a href="https://www.cnblogs.com/08shiyan/p/6479600.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6423532.html
.NET 同步与异步之锁(ReaderWriterLockSlim)(八) - 把爱延续
本随笔续接:.NET 同步与异步之锁(Lock、Monitor)(七) 由于锁 ( lock 和 Monitor ) 是线程独占式访问的,所以其对性能的影响还是蛮大的,那有没有一种方式可是实现:允许多个线程同时读数据、只允许一个线程写数据呢?答案是肯定的。 读写锁 ReaderWriterLock 
2017-02-23T06:51:00Z
2017-02-23T06:51:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】本随笔续接:.NET 同步与异步之锁(Lock、Monitor)(七) 由于锁 ( lock 和 Monitor ) 是线程独占式访问的,所以其对性能的影响还是蛮大的,那有没有一种方式可是实现:允许多个线程同时读数据、只允许一个线程写数据呢?答案是肯定的。 读写锁 ReaderWriterLock  <a href="https://www.cnblogs.com/08shiyan/p/6423532.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6272470.html
.NET 同步与异步之锁(Lock、Monitor)(七) - 把爱延续
本随笔续接:.NET同步与异步之相关背景知识(六) 在上一篇随笔中已经提到、解决竞争条件的典型方式就是加锁 ,那本篇随笔就重点来说一说.NET提供的最常用的锁 lock关键字 和 Monitor。 一、lock关键字Demo 这一组demo,代码简洁,逻辑简单,一个 AddIndex 方法 保证字段
2017-01-14T07:26:00Z
2017-01-14T07:26:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】本随笔续接:.NET同步与异步之相关背景知识(六) 在上一篇随笔中已经提到、解决竞争条件的典型方式就是加锁 ,那本篇随笔就重点来说一说.NET提供的最常用的锁 lock关键字 和 Monitor。 一、lock关键字Demo 这一组demo,代码简洁,逻辑简单,一个 AddIndex 方法 保证字段 <a href="https://www.cnblogs.com/08shiyan/p/6272470.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6168995.html
.NET同步与异步之相关背景知识(六) - 把爱延续
在之前的五篇随笔中,已经介绍了.NET 类库中实现并行的常见方式及其基本用法,当然、这些基本用法远远不能覆盖所有,也只能作为一个引子出现在这里。以下是前五篇随笔的目录: .NET 同步与异步之封装成Task(五) .NET 实现并行的几种方式(四) .NET 实现并行的几种方式(三) .NET 实现
2017-01-05T01:02:00Z
2017-01-05T01:02:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】在之前的五篇随笔中,已经介绍了.NET 类库中实现并行的常见方式及其基本用法,当然、这些基本用法远远不能覆盖所有,也只能作为一个引子出现在这里。以下是前五篇随笔的目录: .NET 同步与异步之封装成Task(五) .NET 实现并行的几种方式(四) .NET 实现并行的几种方式(三) .NET 实现 <a href="https://www.cnblogs.com/08shiyan/p/6168995.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6165738.html
.NET 同步与异步之封装成Task(五) - 把爱延续
本随笔续接:.NET 实现并行的几种方式(四) 前篇随笔已经介绍了几种可以实现并发的方式,其中异步方法、是最简便的方式。而 异步方式是基于 Task 和 async修饰符和await运算符实现的。 换句话说:如果我们有了Task、就有了异步方法。 在随笔:.NET 实现并行的几种方式(二) 中,已经
2016-12-13T00:52:00Z
2016-12-13T00:52:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】本随笔续接:.NET 实现并行的几种方式(四) 前篇随笔已经介绍了几种可以实现并发的方式,其中异步方法、是最简便的方式。而 异步方式是基于 Task 和 async修饰符和await运算符实现的。 换句话说:如果我们有了Task、就有了异步方法。 在随笔:.NET 实现并行的几种方式(二) 中,已经 <a href="https://www.cnblogs.com/08shiyan/p/6165738.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6093992.html
.NET 实现并行的几种方式(四) - 把爱延续
本随笔续接:.NET 实现并行的几种方式(三) 八、await、async - 异步方法的秘密武器 1) 使用async修饰符 和 await运算符 轻易实现异步方法 前三篇随笔已经介绍了多种方式、利用多线程、充分利用多核心CPU以提高运行效率。但是以前的方式在WebAPI和GUI系统上、 使用起来
2016-12-01T02:26:00Z
2016-12-01T02:26:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】本随笔续接:.NET 实现并行的几种方式(三) 八、await、async - 异步方法的秘密武器 1) 使用async修饰符 和 await运算符 轻易实现异步方法 前三篇随笔已经介绍了多种方式、利用多线程、充分利用多核心CPU以提高运行效率。但是以前的方式在WebAPI和GUI系统上、 使用起来 <a href="https://www.cnblogs.com/08shiyan/p/6093992.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6092688.html
.NET 实现并行的几种方式(三) - 把爱延续
本随笔续接:.NET 实现并行的几种方式(二) 在前两篇随笔中,先后介绍了 Thread 、ThreadPool 、IAsyncResult (即 APM系列) 、Task 、TPL (Task Parallel Library)。 写到这些笔者突然意识到 还有一个EMP系列没有写,在这里补充一下:
2016-11-23T08:03:00Z
2016-11-23T08:03:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】本随笔续接:.NET 实现并行的几种方式(二) 在前两篇随笔中,先后介绍了 Thread 、ThreadPool 、IAsyncResult (即 APM系列) 、Task 、TPL (Task Parallel Library)。 写到这些笔者突然意识到 还有一个EMP系列没有写,在这里补充一下: <a href="https://www.cnblogs.com/08shiyan/p/6092688.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/6019388.html
WPF 虚拟化 VirtualizingWrapPanel 和 VirtualLizingTilePanel - 把爱延续
一、 UI 上两个扩展 public class VirtualizingWrapPanel : VirtualizingPanel, IScrollInfo { #region Fields UIElementCollection _children; ItemsControl _itemsCon
2016-11-01T07:05:00Z
2016-11-01T07:05:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】一、 UI 上两个扩展 public class VirtualizingWrapPanel : VirtualizingPanel, IScrollInfo { #region Fields UIElementCollection _children; ItemsControl _itemsCon <a href="https://www.cnblogs.com/08shiyan/p/6019388.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/08shiyan/p/5952025.html
Debug Databinding Issues in WPF - 把爱延续
DataBinding is one of the most powerful features in WPF. But because it resolves the bindings at runtime and does not throw exceptions, it's sometimes
2016-10-12T03:14:00Z
2016-10-12T03:14:00Z
把爱延续
https://www.cnblogs.com/08shiyan/
【摘要】DataBinding is one of the most powerful features in WPF. But because it resolves the bindings at runtime and does not throw exceptions, it's sometimes <a href="https://www.cnblogs.com/08shiyan/p/5952025.html" target="_blank">阅读全文</a>