walterlv的专栏

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

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

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

2019-05-19 17:09:05

阅读数 43

评论数 0

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

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

2019-05-19 17:02:53

阅读数 36

评论数 0

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

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

2019-05-19 17:01:27

阅读数 37

评论数 0

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

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

2019-05-19 17:00:15

阅读数 37

评论数 0

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

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

2019-05-19 16:58:30

阅读数 38

评论数 0

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

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

2019-05-19 16:57:40

阅读数 35

评论数 0

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

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

2019-05-19 16:56:38

阅读数 59

评论数 0

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

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

2019-05-19 16:55:44

阅读数 40

评论数 0

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

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

2019-05-05 09:13:57

阅读数 60

评论数 0

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

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

2019-05-05 09:12:30

阅读数 58

评论数 0

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

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

2019-05-05 09:08:43

阅读数 43

评论数 0

Windows 中的 UAC 用户账户控制

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

2019-05-05 09:02:07

阅读数 65

评论数 0

启用 Windows 审核模式(Audit Mode),以 Administrator 账户来设置电脑的开箱体验

在你刚刚安装完 Windows,在 Windows 开箱体验输入以创建你的用户账户之前,你可以按下 Ctrl + Shift + F3 来进入审核模式。 本文将介绍审核模式。 本文内容OOBE进入审核模式审核模式有什么作用? OOBE OOBE,Out-of-Box Experience,开箱体...

2019-04-28 09:43:06

阅读数 117

评论数 0

应用程序清单 Manifest 中各种 UAC 权限级别的含义和效果

如果你的程序对 Windows 运行权限有要求,那么需要设置应用程序清单。本文介绍如何添加应用程序清单,并解释其中各项 UAC 权限设置的实际效果。 本文内容各种不同的 UAC 清单选项asInvokerrequireAdministratorhighestAvailable删除 request...

2019-04-28 09:40:49

阅读数 64

评论数 0

如何创建应用程序清单文件 App.Manifest,如何创建不带清单的应用程序

如果你的程序对 Windows 运行权限有要求,那么需要设置应用程序清单。本文介绍如何添加应用程序清单,并解释其中各项权限设置的实际效果。 本文内容嵌入带默认设置的清单新建一个自定义的清单文件创建不带清单的应用程序 嵌入带默认设置的清单 对于 WPF 和 Windows Forms 程序,如果你...

2019-04-28 09:38:21

阅读数 69

评论数 0

C#/.NET 移动或重命名一个文件夹(如果存在,则合并而不是出现异常报错)

.NET 提供了一个简单的 API 来移动一个文件夹 Directory.Move(string sourceDirName, string destDirName)。不过如果你稍微尝试一下这个 API 就会发现其实相当不实用。 在使用 Directory.Move(string sourceD...

2019-04-28 09:36:43

阅读数 44

评论数 0

C#/.NET 如何结束掉一个进程

本文介绍如何结束掉一个进程。 本文内容结束掉特定名字的进程结束掉自己 结束掉特定名字的进程 ProcessInfo 中有 Kill 实例方法可以调用,也就是说如果我们能够拿到一个进程的信息,并且对这个进程拥有访问权限,那么我们就能够结束掉它。 使用 Process.GetProcessesByN...

2019-04-28 09:27:39

阅读数 22

评论数 0

手工编辑 tasks.json 和 launch.json,让你的 VSCode 具备调试 .NET Core 程序的能力

如果 C# for Visual Studio Code 没有办法自动为你生成正确的 tasks.json 和 launch.json 文件,那么可以考虑阅读本文手工创建他们。 本文内容前期准备半自动创建 tasks.json 和 launch.json全手工创建 tasks.json 和 la...

2019-04-28 09:26:42

阅读数 174

评论数 0

让你的 VSCode 具备调试 C# 语言 .NET Core 程序的能力

如果你是开发个人项目,那就直接用 Visual Studio Community 版本吧,对个人免费,对小团体免费,不需要这么折腾。 如果你是 Mac / Linux 用户,不想用 Visual Studio for Mac 版;或者不想用 Visual Studio for Windows 版那...

2019-04-28 09:09:10

阅读数 50

评论数 0

git subtree 的使用

本文收集 git subtree 的使用。 本文内容将 B 仓库添加为 A 仓库的一个子目录将 A 仓库中的 B 子目录推送回 B 仓库将 B 仓库中的新内容拉回 A 仓库的子目录 将 B 仓库添加为 A 仓库的一个子目录 在 A 仓库的根目录输入命令: $ git subtree add --...

2019-04-28 09:06:35

阅读数 26

评论数 0

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