変換候補を取得できるように改造。
(メモリノートパッド形式で返却)
といっても区切りが指定できないため、変換制度はイマイチ。
#module
#define GCL_CONVERSION 0x0001
#define GCL_REVERSECONVERSION 0x0002
#uselib "user32.dll"
;入力ロケールを取得する
#cfunc GetKeyboardLayout "GetKeyboardLayout" int
#uselib "imm32.dll"
;指定のウィンドウの入力コンテキストのハンドルを取得する
#cfunc ImmGetContext "ImmGetContext" int
;登録した単語の一つからリストを取得する
#cfunc ImmGetConversionList "ImmGetConversionListA" int,int,str,int,int,int
;入力コンテキストのハンドルを解放する
#func ImmReleaseContext "ImmReleaseContext" int,int
;漢字→かな変換:GetReverseConversion(文字列)
#defcfunc GetReverseConversion str prm
	hIMC = ImmGetContext(hwnd)
	hKL  = GetKeyboardLayout(0)
	dwsize=ImmGetConversionList(hKL,hIMC,prm,0,0,GCL_CONVERSION)
	dim CANDIDATELIST,7+dwsize/4
	dum=ImmGetConversionList(hKL,hIMC,prm,varptr(CANDIDATELIST),dwsize,GCL_CONVERSION)
	sdim word2,1024
	
	repeat CANDIDATELIST.2
		offset = CANDIDATELIST.(cnt+6)
		sdim word,dwsize-offset-2
		memcpy word,CANDIDATELIST,dwsize-offset-3,0,offset
		word2+=""+word+"\n"
	loop
	
	ImmReleaseContext hwnd,hIMC
	return word2
#global
	moji="あかぱじゃまきぱじゃまあおぱじゃま。とうきょうとっきょきょかきょく。"
	moji+="うらにわにはにわにわにはにわにわとりがいる。"
	mes moji
	mes "↓"
	ref=GetReverseConversion(moji)
	mesbox ref,640,440,0