目前,我正在使用 winapi
和 boost
用 C++ 开发 Windows 服务。因为不在源代码中编写字符串(例如“服务已启动”)是一种很好的风格,并且由于国际化的方面,我正在寻找一种管理应用程序的消息/标题的技术。
我发现了一个code project article它描述了消息编译器(mc.exe)与资源文件的结合使用。但这种方式看起来有点不常见。作者写道,消息编译器是一个很少使用的工具,而且文章也很老了。因此,我想问一下在仅依赖于 Windows API 和 boost 的项目中管理字符串的现代方法是什么。
希望有人能给我提示。
最佳答案
对于 Windows 应用程序,我建议在资源文件中使用老式的 STRINGTABLE,并使用 LoadString() API。
服务也可以利用上述内容,但有一个值得注意的异常(exception)。如果您的服务需要将消息发布到 Windows 事件日志,那么您需要使用消息编译器将此类消息/格式字符串作为资源存储在您的应用程序中。 This article (虽然很简洁)包含了支持这一点需要做什么的摘要。
关于c++ - 在 WinAPI 项目中管理字符串资源的现代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8594911/