我正在尝试在拖放界面中添加对平假名字符的支持。
//This works but replaces Hiragana with ?!
string Buffer;
Buffer.resize(DragQueryFileA(hDrop, uFile, NULL, MAX_PATH));
cout << DragQueryFileA(hDrop, uFile, &Buffer[0], MAX_PATH) << ' ';
cout << Buffer;
//This works but but if I drop a file with Hiragana it turns it to whitespaces and will no longer load files
wstring wBuffer;
wBuffer.resize(DragQueryFileW(hDrop, uFile, NULL, MAX_PATH));
cout << DragQueryFileW(hDrop, uFile, &wBuffer[0], MAX_PATH) << ' ';
wcout << wBuffer;
我尝试通过WM_DROPFILES使用Windows消息 并尝试通过IDropTarget使用OLE + Shell
两者都可以完美地处理掉掉的单个/多个文件,而不能与平假名一起使用。
// DragQueryFileA C:/ Test / 20。ポジティブに行こう!.txt 变成 C:/ Test / 20。??????????????????。txt
DragQueryFileW 将平假名变成空白,再也无法使用
我相信我已经在使用unicode ...
我开始使用DragQueryFile与DragQueryFileW / DragQueryFileA,但结果似乎相同
预先感谢:)