自分のアプリからコードを引っ張ってきました。
私はこんなふうにしてます。
#uselib "kernel32.dll"
// 設定ファイル読み書き
#func WritePrivateProfileString "WritePrivateProfileStringA" sptr,sptr,sptr,sptr
#func GetPrivateProfileString "GetPrivateProfileStringA" sptr,sptr,sptr,sptr,sptr,sptr
#define INI_FILE "test.ini" // 設定ファイル名
#define INI_SEC "general" // 設定ファイルのセクション名
filename=dir_cur+"\\"+INI_FILE
sdim s
// ini書き込み
setini filename,"valtest",""+255
setini filename,"strtest","これはテストテキストです。"
// ini読み込み
v=getini(filename,"valtest",0,0)
s=getini(filename,"strtest",0,1)
// 結果を表示
mes "v="+v
mes "s="+s
stop
// 設定ファイルから読み出し
// getini ファイル名, キー(文字列), デフォルト値, フラグ(0:数値 1:文字列)
#defcfunc getini str _s1, str _key, int _p1, int _p2
sdim buf,1024 // 必要な文字列サイズ分確保のこと
GetPrivateProfileString INI_SEC, _key, str(_p1), varptr(buf), 1024, _s1
if _p2 { return buf } // 文字列として返す
return int(buf) // 整数値として返す
// 設定ファイルに書き込み
// setini ファイル名, キー(文字列), 値(文字列)
#deffunc setini str _s1, str _key, str _s2
WritePrivateProfileString INI_SEC, _key, _s2, _s1
return
読み出しのところの1024とは1024バイト分まで対応するって意味です。
APIの後ろから2番目のパラメータと合わせてください。
ここまでのサイズが必要なければ、必要サイズに縮小して構いません。