問題タブ [console]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2937 参照

c# - 親プロセスの標準出力を取得するには?

私はユーティリティ(http://reg2run.sf.net)を作成しています。これは、引数なしで実行するとWindowsアプリケーション(OpenFileDialogなどを表示)として機能し、そうでない場合はコンソールアプリケーションとして機能します。

したがって、最初のケースでは、コンソール ウィンドウを表示したくないため、プロジェクトは Windows アプリケーションです。しかし、2番目に-表示する必要があり、それはで作成されています

そして、私が望むのは、親プロセスの標準出力を取得して、存在する場合はそれを使用することです(cmd.exeまたはFar Managerを介して実行する場合)。どうすればいいですか?

私は試した

しかし、InvalidOperationException: StandardIn はリダイレクトされていません。なぜなら

0 投票する
3 に答える
3478 参照

c# - console.stdoutにバインドされたテキストブロックの更新に関するWPFの問題

私はC#で小さなwpfアプリを構築しています。ボタンがクリックされると、サードパーティのdll関数がオブジェクトのようなツリーを構築します。このオブジェクトはツリービューにバインドされています。これは正常に機能しますが、ロードには少し時間がかかります。dll関数がオブジェクトを作成すると、進行状況情報がコンソールに出力されます。これをTextBlockにリダイレクトして、ユーザーが進行状況メッセージを表示できるようにします。

私のウィンドウコンストラクタは次のようになります。

xaml:

p>

StringRedirクラスを以下に示します。問題は、TreeViewがロードされるまで、何らかの理由でTextBlockがメッセージで更新されないことです。ステップスルーすると、Textプロパティが更新されているのがわかりますが、TextBlockが更新されていません。テキストが更新される時点でMessageBox.Show()を追加しました。これにより、ウィンドウが毎回更新されるようで、各メッセージを表示できます。したがって、画面を明示的に更新する方法が必要だと思います...しかし、これは意味がありません。プロパティが変更されたときに、データバインディングによって視覚的な更新が発生すると思いました。ここで何が欠けていますか?どうすれば更新できますか?アドバイスをいただければ幸いです。

0 投票する
4 に答える
1619 参照

windows - コンソール用の Windows でのテキスト出力の高速化

1 つまたは複数のテキスト コンソール ウィンドウを持つアプリケーションがあり、そのすべてが基本的にシリアル ポート (テキストの入力と出力、文字単位) を表します。これらのウィンドウは、現在のコードの方法で主要なパフォーマンスの問題になりました...私たちは、それらに非常に多くの時間を費やしています。

現在のコードは、ウィンドウに独自の短い寿命を持たせ、メイン アプリケーション スレッドがそれを "SendMessage()" 呼び出しで駆動するように構成されています。このメッセージ パッシングは、信じられないほどのオーバーヘッドの原因のようです。基本的に、OSを迂回するのは間違っていると感じています。

簡単な最適化が既に行われているように、必要に応じてテキスト行全体を描画することに注意してください。

私は Windows コーディングの専門家ではないので、このようなメッセージを送信する以外に、ウィンドウ内のテキストの表示を駆動するアーキテクチャが他にあるかどうかコミュニティに尋ねる必要がありますか? かなり重量級のようです。

主なアプリケーションは移植可能な C/C++/その他の言語プログラムであり、Linux および Solaris でも実行されるため、これは C++ またはプレーン C であることに注意してください。

さらに調査を行ったところ、オーバーヘッドの半分は SendMessage を使用した各メッセージの準備と送信であり、残りの半分は実際の画面描画であると思われます。SendMessage は、同じファイル内の関数間で行われます...

したがって、以下のアドバイスはすべて正しいと思います。

  • 再描画されたものを探します
  • 物を直接描く
  • シリアル コンソールの 10 ~ 20 Hz の更新レートを目指して、すべての文字を画面に送信しないように、時間内に描画操作をチャンクします。

すべての回答を受け入れることができますか?

0 投票する
9 に答える
12561 参照

logging - コンソールへの log4net ステータス メッセージを無効にするにはどうすればよいですか?

.NET 3.5 コンソール アプリケーションで log4net を使用しており、生成したログ メッセージをコンソールの標準出力と RollingFileAppender の両方で表示したいと考えています。ファイル出力は魅力的に機能していますが、実行時にステータス メッセージのストリームがコンソールの標準出力に流れているのが見えます。すべてのステータス情報をスキップして、プログラムでログ ファイルに生成しているのと同じメッセージのみを表示したいと考えています。

アプリを実行した後の例を次に示します。

そして、ロガー オブジェクトのインスタンス化全体が記述されるまで続けます。

これをオフにするにはどうすればよいですか? できますか?あらゆる種類の構成ファイル設定を試しましたが、何も解決しません! うーん...

0 投票する
18 に答える
46760 参照

fonts - コンソール ウィンドウの代替フォント?

コンソール用の新しい/興味深い固定幅フォントを見つけるのが好きです。

私たちは皆、ルシダ/クーリエを知っていますが、他に何がありますか?

アップデート

したがって、勝者は Consolas です (実際、新しい Windows 7 に組み込まれています)。

ジェフには、それについての良いトピック(およびトピックの後での再訪)がありました:

その他の興味深いフォントは次のとおりです。

  • インコンソラータ
  • プロギークリーン
  • ターミナル
  • 6x13 (小さなフォントが必要な場合)
0 投票する
7 に答える
8325 参照

console - スクロールなしのコンソール印刷

コンソール アプリが色を印刷するのを見たり、ffmpeg などのアプリが新しい行ではなくそれ自体の上にテキストを印刷するのを見たりします。既存の線の上に印刷するにはどうすればよいですか? コンソール アプリの一番上または一番下に fps を表示し、通常の printfs をそこに移動させ、通常どおりスクロールさせたいと考えています。

これは Windows で必要ですが、これはクロス プラットフォームであることを意図しているため、最終的には Linux と Mac の実装を行う予定です。

0 投票する
3 に答える
13693 参照

console - コンソール インターフェイスのチュートリアルとヒント (pdcurses)

PDCurses ライブラリの使用に関するチュートリアルを探しています。残念ながら、関数リファレンスに似たテキストのみのドキュメントがあります。pdcurses は、ncurses のチュートリアルを使用するために十分に ncurses に似ていますか? コンソール UI を作成するためのヒントはありますか ???

PS。PDCurses - mingw32.

0 投票する
4 に答える
48310 参照

c# - コンソール出力を別のプログラムのテキスト ボックスにリダイレクトする

タスクを実行するために別のプログラムを呼び出す必要がある Windows フォーム アプリケーションを開発しています。プログラムはコンソール アプリケーションであり、標準出力をコンソールからプログラムの TextBox にリダイレクトする必要があります。

アプリケーションからプログラムを実行するのに問題はありませんが、出力をアプリケーションにリダイレクトする方法がわかりません。イベントを使用してプログラムの実行中に出力をキャプチャする必要があります。

コンソール プログラムは、アプリケーションが停止し、テキストがランダムな間隔で常に変化するまで実行を停止することを意図していません。私がやろうとしているのは、単にコンソールからの出力をフックして、TextBox の更新に使用できるイベント ハンドラーをトリガーすることです。

プログラムのコーディングには C# を使用し、開発には .NET フレームワークを使用しています。元のアプリケーションは .NET プログラムではありません。

編集:これは、私がやろうとしていることのコード例です。最終的なアプリでは、Console.WriteLine をコードに置き換えて、TextBox を更新します。イベント ハンドラにブレークポイントを設定しようとしましたが、到達することさえできません。

0 投票する
4 に答える
747 参照

c# - C#コマンドラインプログラムのtryブロックを無視する

コンソールがクラッシュしないように、try-catch ブロックでラップした C# のコマンド ライン プログラムがあります。ただし、デバッグ中に DoStuff() メソッドのどこかで例外がスローされると、Visual Studio は "catch" ステートメントで中断します。例外が発生した場所で Visual Studio を中断させたい。これを行う最善の方法は何ですか?

トライをコメントアウトしますか?
Visual Sudioの設定?
#if DEBUG ステートメント?