C++でiniファイルの文字列を取得し、取得した文字列をMessageBeepメソッドの引数に指定したいです。
GetPrivateProfileStringメソッドを使って、iniファイルの値は取得できたのですが、MessageBeepメソッドの引数に指定するとエラーが発生してしまいます。解決策が分からないです。お力を貸してください。
・iniファイルの中身(test.ini)
[test]
sound = MB_ICONHAND
■C++(test.cpp)
・iniファイルの取得処理
// 変数
TCHAR ret[MAX_PATH]
// testiniファイルの値を取得
GetPrivateProfileString(TEXT("test"),TEXT("sound"),TEXT("取得失敗"),ret,sizeof(ret),TEXT"c\test.ini" ));
⇒retにMB_ICONHANDが格納される。この変数をMessageBeepの引数に指定
// MessageBeep
MessageBeep(ret);
⇒retの引数は型"UINT"のパラメータと互換性がないエラーが発生したので以下に修正
MessageBeep(int(ret));
⇒コンパイルは出来たが違う音が出る。
恐らく、MB_ICONHANDをint型に指定してもMessageBeep(MB_ICONHAND);になっていないと思っています。
ちなみにMessageBeep(MB_ICONHAND);※MB_ICONHANDは固定値で試したところ、上手く行っているのは確認しております。
iniファイルの値を取得してもTCHARの配列のため、[0]M,[1]B,[2]_,[3]I…となっており混乱しております。
iniファイルの値を取得後、何か処理が必要なのでしょうか。
何か解決策があれば教えてください。
よろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/19 01:15
2017/12/19 02:48
2017/12/19 05:08
2017/12/19 05:30
2017/12/19 05:47 編集
2017/12/19 06:27
2017/12/19 07:33