レジストリへの書込みについて


名古屋  2005-06-07 17:01:01  No: 57748  IP: 192.*.*.*

おせわになります。

CWinAppクラスのメンバ関数に、
「WriteProfileInt」と「WriteProfileString」
があり、整数や文字列のレジストリへの書込みはできる
ようですが、実数(float型やdouble型の値)を
書き込むことは可能なのでしょうか?

現状、方法がわからないので、実数を文字列に変換して
書き込んでいるのですが、直接書き込めたらと思っています。

編集 削除
YuO  2005-06-07 17:23:25  No: 57749  IP: 192.*.*.*

レジストリにデータ型として,浮動小数点数型は存在しません。
しかし,バイナリ型は存在するので,バイナリとして出力すれば書き込めます。
http://msdn.microsoft.com/library/en-us/sysinfo/base/registry_value_types.asp

編集 削除
PATIO  2005-06-08 15:35:01  No: 57750  IP: 192.*.*.*

CWinAppクラスの「WriteProfileInt」や「WriteProfileString」は
プログラマに楽をさせるためのお手軽関数なので細かい事は出来ません。
Win32APIにレジストリを操作する関数がありますのでそちらを使っては
どうでしょうか。
頭にRegが付いている関数をHELPで調べれば、それらしいのに当たると思います。
HELPは使いこなせるようになるとかなり強力なツールになるので使いこなせる
ように努力される事をお勧めします。

編集 削除
シャノン  2005-06-08 22:05:27  No: 57751  IP: 192.*.*.*

> CWinAppクラスの「WriteProfileInt」や「WriteProfileString」は
> プログラマに楽をさせるためのお手軽関数なので細かい事は出来ません。

バイナリデータ書き込みならば、WriteProfileBinary という関数が人知れず存在しています。
セキュリティの設定みたいな、本当に細かいことは無理ですが。

編集 削除
PATIO  2005-06-09 16:58:17  No: 57752  IP: 192.*.*.*

WriteProfileBinaryってVC++6付属のMSDNには付いていない模様です。
これって何時ごろからMSDNに載る様になったんでしょう?

インクルードファイルを見る限りではヘッダファイル内には定義があるんですね。
定義があるなら出せばいいのにと思うのは私だけかな。
アンドキュメンテッドにする意味が良くわからない。
手元にある2004年4月のMSDNには入っているみたいです。
シャノンさんに指摘されるまで気が付かなかった。
指摘サンクスです。

編集 削除