Win32APIの呼び出しでいちいちfreeしたくないので
HTEXTにバイナリデータとしてのUNICODE文字列を突っ込んで
自動解放させようとしてみたんだけど文字化けしまくり。

どうにかうまいこと出来ないだろうか。

HTEXT newobj dupw(mchar *s)
{
HTEXT t = istext(s) ? s : dup(s);
wchar *wsz = wdupfn(t);
HTEXT ret = new(); strcpy(ret, wsz); // 無理?
free(wsz);
return ret;
}

#define tow(s) ((LPCWSTR)(getdata(dupw(s))))

main{
HTEXT text = getfocus();
MessageBoxW(text.w, tow("漢字"), tow("aaabbb"), MB_OK);
}