在Rust的winapi crate中,我在哪里可以找到Locale Information Constants?

3

https://docs.rs/winapi/0.3.6/winapi/um/winnls/type.LCTYPE.html,那只是一个整数。我认为这个资源在Rust中不存在。 - Stargateur
2个回答

1

ntdef.rs中定义了一些常量。如果您想使用那里没有的内容,您需要通过Locale Information Constants查找值,并传递原始值或最好自己定义。

use self::winapi::shared::ntdef::{LOCALE_SYSTEM_DEFAULT, LOCALE_USER_DEFAULT};

另外,请确保在Cargo.toml中配置使用winnls,否则在尝试使用GetLocaleInformationEx时会出现未解决的导入错误。

[dependencies] winapi = {version = "0.3", features = ["winuser", "std", "libloaderapi", "errhandlingapi", "winnls"] }


如何查找这些值?您分享的链接上没有给出不同常数的值。 - Korne127

1
这是一个晚回答,但由于其他人也可能遇到此问题,所以我仍然会写出我的解决方案:
虽然 winapi crate 不包含所有的本地化信息常量,但 windows-sys crate 包含。
Microsoft 网站 上有所有可用的本地化信息常量列表。这些常量也可以在 windows_sys::Win32::Globalization 中作为常量使用,参见 这里
如果您想使用 winapi 而不是 windows-sys,我建议只需查找相应区域设置的值,并在 Rust 代码中定义自己的常量即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接