Windows API 根据进程 ID 查找窗口的 HWND

在 Windows API 中,从进程 ID (PID) 获取窗口句柄 (HWND) 并没有一个直接的单一步骤函数(如 GetWindowByPid),因为一个进程可能拥有多个顶级窗口,也可能完全没有窗口。

通常的做法是枚举系统中的所有顶级窗口,并检查每个窗口所属的进程 ID 是否与目标 PID 匹配。

核心实现逻辑

最标准且高效的方法是使用 EnumWindows 函数。

查看全文

Apache 通过 .htaccess 配置前端路由的静态网站

1<IfModule mod_rewrite.c>
2  	RewriteEngine On
3    RewriteBase /
4
5    # 1. 如果访问的是 /about,且服务器存在 about.html,则自动映射
6    # 但不要在浏览器地址栏改变 URL(保持无后缀状态)
7    RewriteCond %{REQUEST_FILENAME} !-d
查看全文

通过 #include 将文件加载为字符串字面量的技巧

C23 新增的 #embed 预处理指令可以实现相同的功能。
资源文件通常使用 xxd -i <file> 来生成数组。

  • C++:
1#include <iostream>
2#include <string>
查看全文

在 Python Embeded Package 中添加 pip

通过 get-pip.py 获取 pip:

1curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
2./python get-pip.py

如果使用早期的的 Python 版本,get-pip.py 可能不兼容,则需要使用兼容的版本,例如:

查看全文
查看全文
查看全文

APT 更新时忽略指定的包

因为网络原因,系统升级时遇到某个包下载失败导致系统无法升级

保持包版本不更新:

1sudo apt-mark hold <package>
查看全文

Linux Namespace 说明

Linux Namespace 是 Linux 内核的一组功能,它对内核资源进行分区,以便一组进程看到一组资源,而另一组进程看到一组不同的资源。

目前 Linux 支持 8 种命名空间:

命名空间说明内核版本
Mount Namespace挂载命名空间,用于隔离文件系统2.4.19
UNIX Time-Sharing NamespaceUTS 命名空间,用于隔离主机名等2.6.19
查看全文
查看全文

字体设置

下载字体文件:

安装到用户目录

将字体文件复制到用户字体目录 ~/.local/share/fonts/

查看全文