これについて少し掘り下げました。RegGetValue() は、レジストリを照会する従来の方法 (RegQueryValueEx) の根底にある厄介な問題を解決する新しいレジストリ コールです。ここに違いに関する良い情報があります: http://blogs.msdn.com/larryosterman/archive/2006/01/12/512115.aspx
下位互換性が必要な場合、RegGetValue() は機能しないため、RegQueryValueEx を使用してレジストリからデータを読み取る必要があります。
そして今、私が本当の質問だと思うものに移りましょう:
- RegQueryValueEx() を使用すると何が返されますか?
- レジストリに格納されている値が utf-8 エンコーディングであることをどのように確認できますか? レジストリにバイト配列として格納されていますか、それとも REG_SZ として格納されていますか?
- regedit を使用して値を確認しましたか? 何が見えますか?
したがって、質問が UTF-8 でエンコードされた文字列を ASCII ヌル終了文字列に変換する方法である場合は、おそらく質問のタイトルを変更する必要があります。参考までに、役に立つかもしれないこのライブラリを見つけました。
http://utfcpp.sourceforge.net
数分前にリンクを試みたところ、サーバーがタイムアウトしました。おそらく SF のメンテナンス中です。
ただし、レジストリの値が REG_SZ エントリとしてまだ保存されていないことを確認することをお勧めします。