# 用于Rust的Windows API的高级封装 ## 介绍 这个箱子提供对Windows API的高级封装,依赖于windows-rs库,这包括以下内容: 1. 消除函数调用时的unsafe; 2. 本地化类型,例如把windows原始类型BOOL转换到rust的基本类型bool; 3. 规范命名规则,例如把带有大写字母的驼峰命名式的函数统一为下划线命名法; 4. 添加必要的官方说明,以便于随时查阅; 5. 实现内存自动管理; 6. 简化调用,让代码更整洁。 当您如果在尝试封装类似的功能函数时,请优先考虑上述规则。 同时我们还提供了一个[Windows消息常亮表](WM_REFERENCE.md),方便贡献人员的查阅,让你可以大概了解Windows系统和应用的基本逻辑。 ## 分类 这些功能函数的分类使用条件编译的方式被链接到程序中。使用时,请将这个箱子作为可选依赖项,并指定相关的feature,这是防止编译不必要的代码从而让程序体积的不断膨胀。 ### 音频(audio) 提供一个音频输出流,使用XAudio2实现(还存在一些小问题)。 ### com常用操作(com) 包括com线程的初始化和逆初始化函数等。 ### 通用功能(common) 封装了一些最常用的函数和数据类型。 ### Windows的mfc控件(control) 封装了基于消息机制的Windows的常用控件。 ### 扩展操作(ext) 字符串的扩展操作等。 ### 绘图函数(graphic) 关于gdi的一些绘图函数。 ### Windows的全局钩子(hook) 实现了键盘、鼠标、窗口消息钩子等。 ### 用户输入(input) 包括键盘、鼠标的常亮和输入法相关操作。 ### Windows的消息操作(message) 消息循环,消息常亮。 ### 性能数据收集(pth) 用于收集CPU和内存等信息。 ### Windows注册表(registry) 注册表操作的一些功能。 ### 外壳操作(shell) 托盘、菜单、桌面图标等功能。 ### 多线程和多进程(threading) 多线程的同步和相关操作函数。 ### 文本转语音(tts) SAPI5接口的文本转语音实现。