自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

walterlv - 吕毅

欢迎访问 https://blog.walterlv.com/ 热爱设计,不止是程序,更是艺术!

原创 使用 7-Zip 的命令行版本来压缩和解压文件

7-Zip 也有一个简短的名称 7z。它的原生 UI 确实不怎么好看,非常有年代感;不过 7-Zip 的强大之处不在于 UI,而在于其算法和各种文件的支持情况。不过,7-Zip 提供了命令行的版本,让你摒除一切杂念,专心处理压缩文件的工作。 本文介绍如何通过命令行来使用 7-Zip。因为使用命令行...

2019-05-28 14:21:57

阅读数 1554

评论数 0

原创 ClearType 的原理:Windows 上文本的亚像素控制

有位小伙伴问我为什么他电脑上的文本看起来比较虚。我去看了下,发现他电脑上关掉了 ClearType。 微软的 ClearType 技术通过控制亚像素来使得文本显示更为清晰。本文代理了解 Windows 系统上的文本是如何通过亚像素控制使得显示更为清晰的。 本文内容ClearType 打开和关闭之...

2019-05-28 14:20:46

阅读数 102

评论数 0

原创 C# 可空引用类型 NullableReferenceTypes 更强制的约束:将警告改为错误 WarningsAsErrors

程序员不看警告! 于是 C# 8.0 带来的可空引用类型由于默认以警告的形式出现,所以实际上约束力非常弱。 本文将把 C# 8.0 的可空引用类型警告提升为错误,以提高约束力。 本文内容启用可空引用类型项目属性WarningsAsErrors 启用可空引用类型 你需要先在你的项目中启用可空引用类...

2019-05-28 14:17:21

阅读数 86

评论数 0

原创 C# 8.0 可空引用类型中的各项警告/错误的含义和示例代码

C# 8.0 引入了可为空引用类型和不可为空引用类型。当你需要给你或者团队更严格的要求时,可能需要定义这部分的警告和错误级别。 本文将介绍 C# 可空引用类型部分的警告和错误提示,便于进行个人项目或者团队项目的配置。 本文内容开启可空引用类型以及配置警告和错误警告和错误`CS8600``CS86...

2019-05-28 14:15:54

阅读数 69

评论数 0

原创 C# 8.0 如何在项目中开启可空引用类型的支持

C# 8.0 引入了可为空引用类型和不可为空引用类型。由于这是语法级别的支持,所以比传统的契约式编程具有更强的约束力。更容易帮助我们消灭 null 异常。 本文将介绍如何在项目中开启 C# 8.0 的可空引用类型的支持。 本文内容使用 Sdk 风格的项目文件在项目文件中开启可空引用类型的支持可为...

2019-05-28 14:14:32

阅读数 113

评论数 0

原创 如何快速自定义 Visual Studio 中部分功能的快捷键

Visual Studio 中有些自带的快捷键与现有软件有冲突,那么如何修改这些快捷键让这些功能正常工作起来呢? 本文内容打开快捷键设置界面修改一个现有功能的快捷键 打开快捷键设置界面 在 Visual Studio 中打开 “工具 -> 选项”,打开选项设置界面。在其中找到 “环...

2019-05-26 14:39:40

阅读数 97

评论数 0

原创 WPF 像素着色器入门:使用 Shazzam Shader Editor 编写 HLSL 像素着色器代码

HLSL,High Level Shader Language,高级着色器语言,是 Direct3D 着色器模型所必须的语言。WPF 支持 Direct3D 9,也支持使用 HLSL 来编写着色器。你可以使用任何一款编辑器来编写 HLSL,但 Shazzam Shader Editor 则是专门为...

2019-05-26 14:37:46

阅读数 101

评论数 0

原创 MSBuild 如何编写带条件的属性、集合和任务 Condition?

在项目文件 csproj 中,通过编写带条件的属性(PropertyGroup)、集合(ItemGroup)和任务(Target)可以完成更加复杂的项目文件的功能。 本文介绍如何编写带条件的 MSBuild 项。 本文内容Condition单引号`==` 和 `!=``<`, `&...

2019-05-26 14:34:31

阅读数 61

评论数 0

原创 C# 跨设备前后端开发探索

每个人都拥有 好奇心,好奇心驱使着我们总是去尝试做一些有趣的事情。 带起你的好奇心,本文将使用 C# 开发各种各样好玩的东西。 [ 本文内容已加入 2019 年 4 月 13 日的广州 .NET 俱乐部第 2 届线下沙龙。 本文内容0x00 序章好奇心先搞起来0x01 C# 跨设备前后端开发W...

2019-05-19 17:09:05

阅读数 206

评论数 0

原创 如何在 MSBuild 的项目文件 csproj 中获取绝对路径

通常我们能够在 csproj 文件中仅仅使用相对路径就完成大多数的编译任务。但是有些外部命令的执行需要用到绝对路径,或者对此外部工具来说,相对路径具有不同的含义。这个时候,就需要将相对路径在 csproj 中转换为绝对路径来使用。 本文介绍如何在项目文件 csproj 中将一个相对路径转换为绝对路...

2019-05-19 17:02:53

阅读数 162

评论数 0

原创 将 C++/WinRT 中的线程切换体验带到 C# 中来(WPF 版本)

如果你要在 WPF 程序中使用线程池完成一个特殊的任务,那么使用 .NET 的 API Task.Run 并传入一个 Lambda 表达式可以完成。不过,使用 Lambda 表达式会带来变量捕获的一些问题,比如说你需要区分一个变量作用于是在 Lambda 表达式中,还是当前上下文全局(被 Lamb...

2019-05-19 17:01:27

阅读数 125

评论数 0

原创 WPF 的命令的自动刷新时机——当你 CanExecute 会返回 true 但命令依旧不可用时可能是这些原因

在 WPF 中,你可以使用 Command="{Binding WalterlvCommand}" 的方式来让 XAML 中的一个按钮或其他控件绑定一个命令。这样,按钮的可用性会自动根据 WalterlvCommand 当前 CanExecute 的状态来改变。这本是一个非常智...

2019-05-19 17:00:15

阅读数 151

评论数 0

原创 C#/.NET 中启动进程时所使用的 UseShellExecute 设置为 true 和 false 分别代表什么意思?

在 .NET 中创建进程时,可以传入 ProcessStartInfo 类的一个新实例。在此类型中,有一个 UseShellExecute 属性。 本文介绍 UseShellExecute 属性的作用,设为 true 和 false 时,分别有哪些进程启动行为上的差异。 本文内容本质差异效果差异...

2019-05-19 16:58:30

阅读数 305

评论数 0

原创 C#/.NET 使用 git 命令行来操作 git 仓库

我们可以在命令行中操作 git,但是作为一名程序员,如果在大量重复的时候还手动敲命令行,那就太笨了。 本文介绍使用 C# 编写一个 .NET 程序来自动化地使用 git 命令行来操作 git 仓库。 这是一篇很基础的入门文章。 本文内容最简单的运行 git 命令的代码允许获得命令的输出Comma...

2019-05-19 16:57:40

阅读数 388

评论数 0

原创 C#/.NET 如何在第一次机会异常 FirstChanceException 中获取比较完整的异常堆栈

在 FirstChangeException 事件中,我们通常只能拿到异常堆栈的第一帧,这对于我们捕捉到异常是好的,但对分析第一次机会异常可能并不利。 本文介绍如何在 FirstChangeException 事件中拿到比较完整的异常堆栈,而不只是第一帧。 本文内容第一次机会异常获取较完整的第一...

2019-05-19 16:56:38

阅读数 146

评论数 0

原创 C#/.NET 如何获取一个异常(Exception)的关键特征,用来判断两个异常是否表示同一个异常

在 .NET / C# 程序中出现异常是很常见的事情,程序出现异常后记录日志或者收集到统一的地方可以便于分析程序中各种各样此前未知的问题。但是,有些异常表示的是同一个异常,只是因为参数不同、状态不同、用户的语言环境不同就分开成多个异常的话,分析起来会有些麻烦。 本文将提供一个方法,将异常的关键信息...

2019-05-19 16:55:44

阅读数 510

评论数 0

原创 Windows 系统上使用任务管理器查看进程的各项属性(命令行、DPI、管理员权限等)

Windows 系统上的任务管理器进化到 Windows 10 的 1809 版本后,又新增了几项可以查看的进程属性。 本文介绍可以使用任务管理器查看的各种进程属性。 本文内容如何查看进程的各种属性名称、PID、状态路径名称、命令行用户名、特权、UAC 虚拟化DPI 感知 如何查看进程的各种属性...

2019-05-05 09:13:57

阅读数 463

评论数 0

原创 Windows 的 UAC 设置中的通知等级实际上只有两个档而已

Windows 系统中的 UAC 设置界面有四种不同的选项可以选,但实际上真正有意义的只有两个选项。 本文将介绍 UAC 这四个档设置的区别,帮助你合理的设置你的电脑。 UAC 设置界面 在 Windows 10 任务栏的搜索框中输入 uac 可以直接打开 UAC 设置界面。 下图是“用户账户...

2019-05-05 09:12:30

阅读数 153

评论数 0

原创 Windows 下使用 runas 命令以指定的权限启动一个进程(非管理员、管理员)

在默认情况下,Windows 系统中启动一个进程会继承父进程的令牌。如果父进程是管理员权限,那么子进程就是管理员权限;如果父进程是标准用户权限,那么子进程也是标准用户权限。 我们也知道,可以使用一些方法为自己的应用程序提权。但是有没有方法可以任意指定一个权限然后运行呢?本文将介绍 Windows ...

2019-05-05 09:08:43

阅读数 1262

评论数 0

原创 Windows 中的 UAC 用户账户控制

阅读本文,你可以初步了解 Windows 上的 UAC 用户账户控制机制。本文不会涉及到 UAC 的底层实现原理和安全边界问题。 本文内容用户账户UAC 通知等级完整性级别(Integrity Level)权限提升 用户账户 在 Windows 中有多种不同的账户: SYSTEM Admini...

2019-05-05 09:02:07

阅读数 314

评论数 0

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