月 | 火 | 水 | 木 | 金 | 土 | 日 |
---|---|---|---|---|---|---|
28 | 29 | 30 | 31 | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 1 |
・・・のは例によって、昨日なんだけど。
これといー、ゴクドーくんといー、本編終わってるのに 外伝だけ続くのはどーなんだろ。
ま、今回の2作品はけっこー好きだったからいいんだけどね。
にしても、神坂一ってきっちり連載終わらせてるからえらいよな〜。 書きかけのまんまってないし。 ちょっとは見習え〜(笑)>あかほり
標準出力を横取りする仕組みを作った。 ま、ほとんどWebからのカッペなんであんまり理解できてないんだけど。 CreateProcessに渡すSTARTUPINFO構造体が鍵ってところまでは突き止めたんだけど、 パイプを作ったりしてる部分がまだいまいちわからない。 もーちょっとちゃんと理解できたらここに方法を書くことにしようか。
とはいえ、これで新ももめも(仮称)ではコンソールアプリも そのまんま使えるランチャーになってくれそうだぞ。 標準入力も横取りできたほうがいいんだろーけど、 うまいインターフェースが思い浮かばないんでとりあえず保留にしとこう。
とりあえず、早くUIを作らないとな〜。 会社じゃVC++を使えないからWTLなテストが遅々として進まないのよ。
ついでに初めてCreateThreadも使ってみた。 これってなんでVBで使うとよろしくないんだっけ。 なんかふつーに使えそうな気がするんだけどな。。。 暇ができたら試してみよう。
そうそう。
ダイアログベースじゃないウィンドウに コントロールを乗っける方法がわからなくて悩んでたんだけど、 CreateWindow(Ex)でWS_CHILDなウィンドウを作ればいいだけだったんだね。 ちょっと感動。 さらに、そのコントロールから通知されるメッセージはWM_COMMANDで 処理すればいいことも判明。 WM_COMMANDのLOWORD(wParam)が通知元のコントロールのIDで HIWORD(wParam)が通知されるメッセージだから、
case WM_COMMAND: switch(LOWORD(wParam)){ case IDC_EDIT1: switch(HIWORD(wParam)){ case EN_CHANGE: ::MessgeBox(hWnd, "へんこうされたのだ。", "テストメッセージ", MB_OK); break; } break; }
ってな感じで書けばいいわけだ(たぶん)
さらに言うと、lParamにはそのコントロールのウィンドウハンドルが入ってるらしい。 これも要チェックだぁね。
でも、WM_COMMANDで通知されないメッセージを処理する方法は 相変わらずわからない。 サブクラス化するしかないのかな〜。
このページにリンクを張りたい人はご自由にどうぞ。
疑問・感想・要望・不満・文句・愚痴等々ありましたら↓までメール下さいましm(_ _)m