c++ - 使用 unicode 构建示例软件
问题描述
我开始使用 Microsoft 提供的示例代码开发 Windows 服务。我已经编译了仅资源的 DLL,但是在构建此处提供的第一个文件时出现错误:https ://docs.microsoft.com/en-us/windows/win32/services/svc-cpp
我遇到了几个与转换不同字符串数据类型相关的错误:
这是一个示例代码行:
SvcReportEvent(TEXT("RegisterServiceCtrlHandler"));
哪个产生了这个错误:
E0167 argument of type "const wchar_t *" is incompatible with parameter of type "LPTSTR"
这是另一个例子:
SvcReportEvent(TEXT("StartServiceCtrlDispatcher"));
它正在产生此错误:
E0144 a value of type "const wchar_t *" cannot be used to initialize an entity of type "LPWSTR"
和这个:
if (!GetModuleFileName("", szPath, MAX_PATH))
正在产生此错误:
C2664 'DWORD GetModuleFileNameW(HMODULE,LPWSTR,DWORD)': cannot convert argument 1 from 'const char [1]' to 'HMODULE'
我的项目设置为使用“项目属性”对话框中的 Unicode 字符集。我希望示例代码能够毫无问题地构建,所以我不想进入并开始转换或转换变量来解决问题。我觉得必须有一个设置或我需要改变的东西。
处理这些错误的最佳方法是什么?
解决方案
推荐阅读
- c++ - C++ setw 问题。输出不对齐,它移动了几个空间,为什么会这样?
- java - 如何使用 Java 9+ 从 JDK 模块中获取类的文件?
- postgresql - 为什么 PostgreSQL 认为范围类型中的 NULL 边界与无限边界不同?
- r - R传单ftp远程访问
- c++ - 获取线圆交点的面积
- java - OutOfBond 异常
- javascript - 使用 Turbolinks 时使用 Javascript 更改元素类失败
- c# - C# WPF 如何使 Canvas.SetTop 看起来像在移动
- c++ - 当问题要求在 C++ 中以相反的顺序输入时如何显示用户输入字符串
- google-bigquery - 如何在不硬编码过滤条件的情况下在谷歌大查询中使用分区修剪?