这是关于在较旧 Windows 版本上开发截图工具及相关技术的内容,主要包括:
- 项目背景与目标:作为当前系列项目的一部分,正在开发用于较旧 Windows 版本的截图工具,目标是类似ShareX,能截图并在线发布,文件共享通过 HTTP 和 TLS 进行,Windows 95 起内置 WinINet 提供 HTTP、FTP 等,但不支持 TLS 1.3 等新技术,需要 TLS 库连接现代系统。
- 项目前提:目前在 Windows 2000 Professional SP4 上运行,也想在 Windows 95 和 98 上运行,使用 Visual Studio.NET 2003(支持 Windows 95 的最后版本),在 Windows 2000 中构建,还需要该时代的 Platform SDK,MSDN Library 比网上的更有用。
- WolfSSL 与 Visual C++:编译 cURL 前需要 TLS 库,选择 WolfSSL,其项目文件过时,需手动添加文件,配置时通过
#define
语句,如WOLF_C89
等,还需解决 variadic macros 问题,避免wc_port.h
包含<intrin.h>
,并自己实现inet_pton
函数。 - 部署:Visual Studio 没有好的部署方式,通过
install.js
脚本进行,包括复制文件等步骤。 - cURL 相关:cURL 提供的 Makefile 兼容 Visual C++ 6.0,但在较旧系统上有问题,如命令行长度限制导致编译错误,需修改
Makefile.vc
中的批处理文件,还需在lib\config-win32.h
中进行额外更改,如禁用__fseeki64
等,添加 WolfSSL 支持,包括修改 Makefile 和复制 stdint.h 等文件,最终编译成功并能使用 TLS 连接。 - 后续计划:除截图项目外,还计划提供 WinHTTP.dll 垫片库,下一步尝试 Windows 9x 支持。
文中还提供了多个相关链接和注释说明,如关于 HTTP 和 TLS 的 RFC 链接、Visual Studio 版本说明等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。