初学者c++ Windows D2D1Circle样本来自MSDN问题

Beginner C++ Windows D2D1Circle Sample from MSDN Problem

本文关键字:MSDN 问题 本来 样本 c++ Windows D2D1Circle 初学者      更新时间:2023-10-16

所以我只是在MSDN上通过基本的Windows编程指南,并试图在模块3中做D2D1Circle样本。我遇到的问题是我的vc++ 2008抛出的错误。" 'CreateWindowExA':无法将参数2从'PCWSTR'转换为'LPCSTR'"

所以,考虑到我在输入代码时犯了一个小错误,我下载了示例代码rar并打开它,它抛出了完全相同的错误。关于我如何解决这个问题的任何想法,所以它会起作用。另外,我在x64位机器上编程的事实与它不能工作的原因有关吗?我知道指针携带不同大小的值,这取决于机器,被调用的两个参数都是指针。

更新@ Jollymorphic:在前几个模块中,MSDN教程说真的没有任何理由继续使用ascii,因为unicode涵盖了ascii,也支持所有其他语言,如中文,日语等。实现您的解决方案不会导致我的程序只支持ascii,随后不允许支持东亚语言?

PCWSTR是一个指向宽(16位)字符的指针。LPCSTR是一个指向常规(8位)字符的指针。您的项目可能被设置为基于UNICODE字符集生成代码。如果你在Visual Studio中打开项目的属性,然后导航到"General"页面,你会看到一个"Character Set"属性。如果当前设置为"使用Unicode字符集",那么您可以将其更改为"使用多字节字符集",并且您的字符串文字将生成为8位字符串。