• 締切済み

コンソールアプリケーションの表示

コンソールアプリケーションが画面に文字を表示するときの処理はどうなってるのでしょうか。途中まで調べてみましたが分からなくなりました。 GetStdHandle 関数でスクリーンバッファのハンドルを得てそのバッファにWriteFile 関数を使ってデータを書き込む。この後の処理は画面に表示しなければならないのでデバイスコンテキストとか絡んでくるんでしょうか? ご助言ください。

みんなの回答

回答No.3

またまたすみません。 HANDLE hOut は HANDLE hOutput; でした(WriteFile関数の第一引数と同じにしないといけません)。

回答No.2

#1です。勘違いして、変な回答をしてしまいました。すみません。 DWORD dw; char str[xxx]; HANDLE hOut : hOut = GetStdHandle(STD_OUTPUT_HANDLE); WriteFile(hOutput, str, strlen(str), &dw, NULL); 上記のように書くと、strの内容が標準出力に出力されます。

harusan90
質問者

補足

回答有難うございます。 >WriteFile(hOutput, str, strlen(str), &dw, NULL); >上記のように書くと、strの内容が標準出力に出力されます。 WriteFile関数は「文字」をスクリーンバッファに書き込むだけの処理ですよね? そのあとデバイスコンテキストとかのGDI関係の処理が、絡んでくるんじゃないのだろうか?というのが質問です・・・ 質問が分かりにくくてすいません。

回答No.1

>コンソールアプリケーションが画面に文字を表示するときの処理 コンソールアプリケーションはCUIで動作するプログラムのことですよね。でしたらprintfなどで出力すれば良いのでは? GUIで動作するプログラムを作成するのであれば、WIN32APIでぐぐれば、参考になるサイトが沢山見つかりますよ。

関連するQ&A