# 说在前面 本文的 Web 环境为 Windows + Nginx + 腾讯云 Nginx Certbot 最后支持 Windows 的 Certbot # 需求 Web 服务器在本地 80 端口开放 # 步骤 # 安装 Certbot 略 # 申请证书 在终端中输入 certbot certonly 启动申请向导 # 选择验证方式 提供了两种验证域名是否是你拥有的方式 Certbot 自启动一个 Web 服务器, Let's Encrypt 会通过 80 端口访问这个域名,寻找 /.well-known/acme-challenge/ 路径下的特定文件 你提供现有服务器的网站文件路径,Ce...

# 原理 Console 有一个方法叫做 SetOut ,支持一个 TextWriter 的参数,调用之后,控制台的所有输出将不会经过标准输出流,而是经过自定义的流。 可以重定向本程序的控制台输出至文本流或其他部分。我写这个主要为了将 Blazor 的控制台输出显示到界面上,但是有个问题,无法获取文本颜色,现在也没什么解决方案。 # 实现 # 创建一个继承自 TextWriter 的类 继承 TextWriter 重写 Write(char) 、 Write(string) 以及 WriteLine 方法,这样能够覆盖八成以上的场景,父类有更多的输出方法,按需重写 # 暴露写入事件 外部监听事...

# 实现 每次调用防抖函数时都会取消旧任务并创建新的任务。 当 Delay 指定时间之后,若当前任务未取消则执行回调,若已取消则直接返回

# 流程 创建一个 STA 线程 调用 Application.Run 方法 使 UI DPI感知 创建 NotifyIcon 对象并使 Visible 为 true 暴露 UI 线程调度器的 Invoke 方法 # 创建一个 STA 线程 # 调用 Application.Run 方法 # 使 UI DPI 感知 控制台程序是无法使用 manifest 文件来配置 DPI 感知的,我们使用 API 的方法来控制 DPI 感知 # 创建 NotifyIcon 对象 # 暴露 UI 线程调度器的 Invoke 方法 当在线程外部需要更新托盘的内容时,需要切换线程至 UI 线程才可操作控件。我们将...

# 窗口材质 Windows 11 带来了新的半透明窗口材质:云母,按微软文档的说法,这个材质可以用在 WinUI 2 及以上的应用程序中,但没有提及 WPF,经过查询资料发现 WPF 也是可以正常应用云母材质来提升窗口观感的,甚至从 Aero 时代扩展玻璃特效使用的方法都没太大变化,或许所有 DWM 绘制的窗口都可以应用这个材质。 # 使用材质 和 Aero 特效一样,默认状态下,开启云母材质之后,只有标题栏会有材质效果: 通过 API 扩展 DWM 生效范围至整个窗口之后,整个窗口就都有了材质效果: 不过系统自带的控件背景色都是不透明的,所以显示效果不美观,当修改了控件以及窗口的背景颜色为...

# 相关资源 Hexo: https://hexo.io/zh-cn/ Shoka: https://github.com/amehime/hexo-theme-shoka Shoka 博客: https://shoka.lostyu.me/computer-science/note/theme-shoka-doc/ Node.js: http://nodejs.org/ Git: https://git-scm.com/downloads # 安装步骤 # NodeJS 安装 略 # 安装 Git 略 # 安装 Hexo 脚手架 # 创建 Hexo 项目 在一个空白文件夹打开终端 若有以下提...

# 写在前面 本教程介绍如何使用 Jie2GG 的 SDK 编写原生酷 Q 插件。编写出的插件可以在各种酷 Q 兼容框架上运行。 跟随教程最终将编写出一个复读机 # 相关资源 Visual Studio SDK Github cqp.cc # 下载 安装 Visual Studio ,本教程使用的为 VS2022 。需要具备基础的 C# 开发环境 在上方 相关资源-SDK Github-Release 中下载最后一个版本,并解压 # 配置 # .net Framework 升级 在上一步解压出的文件中,打开 Native.sln ,这是工程的解决方案文件。 此时 VS 应当弹出弹窗,提示 .n...

# 失效提醒 Chrome Blog 大约在 2024.7 附近,谷歌增强了对 Cookie 的加密,现非 Chrome 的进程无法进行解密,故此文章的做法只能适用于老版本的 Chrome,敬请注意。 # 写在前面 哔哩哔哩的动态接口突然变得需要 Cookie 了,Cookie 这种东西变的很快,如果每次失效都手写一遍岂不是很麻烦,还是自动采集浏览器的 Cookie 吧 代码抄自 Gist,改编为了 C# 版本 # AES 解密 .Net 自从.NetCore3.0 之后,在 System.Security.Cryptography 内内置了相关的算法,对于不支持的版本需要类似于 Bouncy...

# 写在前面 在.Net FrameWork 时代,本人常用的导出函数的方式为 DLLExport,但是.Net 技术发展太快,项目作者没有继续跟进高版本的.Net 版本,最高支持到似乎是.NetCore2.1,对于这个版本以下的项目使用这个项目完全足够,不过只限于 Windows 平台 DNNE 使用方法对于 DLLExport 更复杂一些,不过高版本也没得选。DNNE 提供跨平台编译,不只限于 Windows 平台,且要求.Net6 以上 # 函数导出表 PE 文件有导入表与导出表,导入表是引入其他 PE 文件的函数,导出表是本文件向其他文件提供的函数入口表。对于大部分的查壳工具或是 PE...