如何使用 Cabinet (CAB) 文件 compress/uncompress Windows XP/Windows 7 中的单个文件?

How to use Cabinet (CAB) Files to compress/uncompress a single file in Windows XP/Windows 7?

我想 compress/uncompress 我的 C++ 应用程序中的单个文件而不使用外部库。我读过 Cabinet Files 可以用来做这个,但我找不到任何有用的例子。

我什至不确定 Cabinet Files 是否仍然可以在现代 Windows 版本中使用,谁能提供一个简单的例子。

它们仍然有效(至少 Windows 2000 - Windows 10)。

MSDN for the API Documentation and samples of how to decompress a file or create a new cabinet

回调的示例实现可在其各自的页面上找到。例如:fnMemFree and fnNotify.