GUIシェル
BayGUIでGUIシェルを作っています。コンソールへの表示をGUIシェルへ曲げたいのですが、従来のMonaの手法はいろいろと問題があるので、こんなことしてみました。
#undef printf void printf(const char *format, ...) { char str[128]; va_list args; int result; memset(str, 0, 128); va_start(args, format); result = vsprintf(str, format, args); va_end(args); dword id = MonAPI::Message::lookupMainThread("GSHELL.EX5"); MonAPI::Message::send(id, CUSTOME_EVENT, 0, 0, 0, str); }
printfを乗っ取ってGUIシェルに横流しするわけです。
GUIシェル側が考えなければいけないのはスクロールくらいでしょうか。
あとコンソールがプロポーショナル表示だとしょぼいので、等幅表示の仕組みをBayGUIに入れ込む予定。