none
C/C++言語でWindowsのコンソールウィンドウの「画面バッファのサイズ」の修正方法について RRS feed

  • 質問

  • C/C++言語でリモートサーバにコマンドを実行した後で、標準出力が多すぎる場合、部分標準出力しか出力できません。

    原因:リモートサーバでコマンドを実行すれば、Windows自身のコンソールウィンドウを利用する必要があります。コンソールウィンドウの「画面バッファサイズ」のデフォルト値は「300」です。標準出力が多すぎる場合、すべての内容を表示できません。それで、コマンドの標準出力を全部取得したい場合、コンソールウィンドウの「画面バッファサイズ」を変更するなければなりません。「画面バッファサイズ」の最大値は「9999」です。

    質問:C/C++言語で、リモートサーバのWindows自身のコンソールウィンドウの「画面バッファサイズ」の修正方法を教えていただけませんでしょうか?サンプルソースコードがありましたら、大変助かります。

    2010年7月27日 3:07

すべての返信

  • 「ファイルに落としてそのファイルを何らかの方法で持ってくる」、「パイプなどを利用する」といった方法が妥当に思えます。
    そもそも、リモートマシンの設定をすべて書き換えられるわけではないと思います。(今回の要求ができるかは未調査)

    また、この件も「リモートマシンで実行した標準出力を得たい」ということを実現するための別のアプローチに過ぎないですよね?
    アプローチを複数思いつくのは良いと思いますが、結局、同じ問題への取り組みなのですから、スレッドを分けるのは避けた方が良いのではないでしょうか。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2010年7月27日 13:53
    モデレータ
  • こんにちは、フォーラム オペレーターの 山本です。

    同じ問題のご質問について、同時に複数のスレッドがオープンされており、少々混乱してきているように見受けられましたので、関連スレッドはロックさせていただきました。
    これまでの経緯は、以下の関連スレッドをご覧ください。

     recv()関数で受信メッセージをすべて取得できません。
     http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/5c61c4cc-afd5-4cbf-b5e1-6ab14e66abdc

     C/C++言語でリモートサーバ(Windows)のコマンドを実行して、標準を出力する方法がありますか?
     http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread/2a662d1a-4031-498a-9ae4-ac85b9c3141e


    寒い夏さん、恐れ入りますが、引き続きこちらのスレッドでご質問を続けてくださいね。よろしくお願いいたします。
                                                                
    マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2010年8月2日 8:04