使用发送消息填充列表框获取垃圾



我正在尝试在Visual Studio上使用c ++填充列表框。我有一个 std:string 数组,我想使用它们。我的解决方案似乎不起作用:

std::string label = "something";
char *buffer;
buffer = _strdup((label).c_str());
我检查了,

缓冲区变量包含正确的字符串,但随后我调用了 SendMessage

SendMessage(hwndList, LB_ADDSTRING, 0, (LPARAM)buffer);

列表框被填充,但我看到的不是"某些东西",而是一些随机的日语字符......

SendMessage是一个

宏,它可以定义为SendMessageW,它使用Unicode字符串。

您正在使用 std::stringchar ,因此请尝试使用 SendMessageA ,它显式使用 ANSI 字符串。

最新更新