0

IE BHO 用のこの古いコードがあり、そのデータを保存しようとしています。

私はこのアプローチを試みています:

// key is an LPWSTR provided as a method parameter
// sValue is an LPWSTR provided as a method parameter

HKEY hKey = NULL;

HRESULT hRes = IEGetWriteableHKCU(&hKey);

if (SUCCEEDED(hRes) && hKey)
{
    CHAR mbStr[2048] = { 0 };
    WideCharToMultiByte(CP_UTF8, 0, sValue, lstrlen(sValue), mbStr, 2048, NULL, NULL);

     // Skipping error checking for now
    RegSetKeyValue(hKey, L"A\\Key\\I\\Can\\Write\\To", key, REG_SZ, mbStr, (DWORD)strnlen_s(mbStr, 2048));

    RegCloseKey(hKey);
}

入力した値が書き込まれ、正常に読み取ることができます。しかし、regedit で見ると、漢字が表示されます。これではトラブルシューティングが難しくなりますので、文字を正しく表記していただきたいと思います。

これは明らかに何らかのエンコーディングの問題ですが、それを解決する魔法の弾丸が見つからないようです。

ありがとう!

4

0 に答える 0