来自MSDN问题的初学者C ++ Windows D2D1Circle示例

时间:2011-04-13 02:52:10

标签: c++ msdn sample

所以我刚刚通过MSDN上的基本Windows编程指南并试图在模块3中执行D2D1Circle示例。我遇到的问题是我的VC ++ 2008抛出的错误。 " ' CreateWindowExA' :无法从' PCWSTR'转换参数2到' LPCSTR'"

因此,在我下载示例代码rar并打开它并且它抛出完全相同的错误时,确定我在输入代码时发生了轻微错误。关于如何解决这个问题的任何想法都会有效。另外,我在x64位机器上编程的事实与它为何无法工作有关吗?我知道指针带有不同大小的值,取决于机器,所调用的参数都是指针。

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

1 个答案:

答案 0 :(得分:4)

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