开源库spdlog使用备忘

spdlog是一个高性能C++日志库,支持仅头文件(header-only)模式使用。 官网地址: https://github.com/gabime/spdlog spdlog是线程安全的,但不是进程安全的,可以多个线程同时使用一个spdlog对象输出日志,但不能多个进程同时往一个文件写入日志。 在spdlog内部使用fmt进行字符串的格式化,因此spdlog字符串格式的方式与fmt库相同,如: 1spdlog::critical("Support for int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}", 42);

开源库

C/C++不同整数类型的区别

在C/C++中涉及的整数相关的类型大致有如下几种: char、unsigned char short、unsigned short int、unsigned int long、unsigned long long long、unsigned long long int8_t、uint8_t int32_t、uint32_t int64_t、uint64_t DWORD DWORD32、DWORD64 size_t、ssize_t SIZE_T、SSIZE_T

C++语言

Windows窗口调试利器-WinSpyPlus

在Windows平台进行客户端开发时,不可避免的会遇到需要调试窗口的情况,如查看窗口句柄、窗口位置/尺寸、监听窗口消息等。虽然微软随 Visual Stuido 一同发布了 Microsoft Spy++ 工具,但该工具的功能更新缓慢,这么多年过去了基本没有什么变化,比如: 一直未提供单独的安装包。 强制以管理员权限启动,虽然以管理员权限启动可以避免很多问题(如无法监听管理员权限进程窗口的消息等),但这让用户失去了选择非管理员的权力。 不能通过标题或类名来查找窗口。 查找到的窗口不能自动定位到窗口树中。 不能过滤是否显示隐藏窗口、是否显示无标题窗口。 不能查看 Message-Only 窗口。 不能定时导出窗口树到文件中,以便做后续的对比分析。 默认启动的时32位进程,无法监听 64 位进程窗口的消息,监听失败时也未能提示用户。 未提供对窗口的快速操作指令,如显示/隐藏、最大化/最小化/还原、置顶/置底等。

Power By Me

Windows API的不同返回状态

在Windows编程中,我们经常接触到的Windows API返回值类型有: BOOL HRESULT LSTATUS

Windows编程

Qt自定义和美化菜单

在Qt中可以通过QSS对菜单进行样式设置,而且对于非标准菜单项我也可以通过自定义Widget的方法来实现,本文讲述在Qt中QMenu的使用方法。

Qt

为什么SetParent会失败

SetParent是Windows提供的设置窗口父窗体的API,函数原型比较简单: 1234HWND SetParent( [in] HWND hWndChild, [in, optional] HWND hWndNewParent);

Windows编程

窗口如何逃脱显示桌面指令

在Windows系统中,在按下Win+D快捷键等操作执行“显示桌面”时,会将桌面上的所有窗口都最小化到任务栏,再次按下还原窗口。在显示桌面时,有些窗口仍然保持显示状态,不被最小话,即称之为逃脱显示桌面指令。 实现逃脱显示桌面的方式有三种,每种方式有不同的应用场景。

Windows编程

认识Windows顶级(top-level)窗口

在Windows API中经常会出现关于顶级窗口的描述,如 EnumWindows函数的说明: Enumerates all top-level windows on the screen by passing the handle to each ...

Windows编程
1234522