問題タブ [console-application]
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.
.net - コンソールアプリケーションの質問(ビルドリリース/ソリューションファイルをロードしない)
.netコンソールアプリケーションについていくつか質問があります。
コンソールアプリを作成し、作成中にソリューションファイルを含めましたが、ソリューションファイルを開くと、プロジェクトのみが表示され、ソリューションは表示されません。ソリューションエクスプローラーにソリューションが読み込まれないのはなぜですか?
また、「リリース」モードでプロジェクトをビルドできないようです。デバッグのみ。「コンパイル/構成」と「デバッグ/構成」をリリースに切り替えましたが、「bin\release」フォルダーがビルドされません。
このためのドキュメントへのポインタをいただければ幸いです。
ありがとうございました
visual-studio - コンソールを app.config の Visual Studio デバッグ出力ウィンドウにリダイレクトします
コマンドをステートメントConsole.WriteLine()
と共に「出力」ウィンドウに表示したいと考えています。Debug.WriteLine()
これを一度行う方法を理解したと思いますが、もう一度行う方法を思い出したり、グーグルで見つけたりすることはできません。app.config
ファイルでこれを行うことができたのを覚えているようです。
コンソールとデバッグステートメントをコンソールの出力に表示する方法についてはたくさんの指示がありますが、それらを「出力」ウィンドウに表示する方法はありません。
出来ますか?
c# - サードパーティ ライブラリのコンソール出力を抑制しますか?
たまたまコンソールにたくさんのものを吐き出すサードパーティのライブラリを呼び出す必要があります。コードは単純にこのように...
ThirdPartyLibrary からの不要なコンソール出力を抑制する簡単な方法はありますか? パフォーマンス上の理由から、新しいプロセスまたはスレッドをソリューションで使用することはできません。
c# - コンソール アプリケーションで MVP を実装する方法は?
コンソール アプリケーションの Program.cs に次のコードがあります。
this
しかし、 Main メソッドは であるため、プレゼンターに渡すことはできませんstatic
。どうすればこれを機能させることができますか?
c# - コンソール アプリケーションで複数行のテキストを表示しますか?
コンソール アプリケーションで複数行のテキスト (たとえば 1000 行) を表示し、すべての行をスクロールできるようにする方法が必要です。ただし、以下のコード スニペットのようなことをすると、コンソールに最後の 100 行程度しか表示されません。
私の最初の方法は、行のチャンク (たとえば、一度に 100 行) を表示し、ユーザーがさらにブラウジングできるようにすることでしたが、もっと簡単でユーザーフレンドリーな方法があればいいのにと思いました。
.net - 'PAGE DOWN' をコンソールの入力バッファに書き込むにはどうすればよいですか?
PageDown キーを押すことをプログラムでコンソール アプリケーションに送信する必要があり、道に迷っています。MemoryStream を介して StreamReader を使用して Console.SetIn を試した後、34 (ConsoleKey enum の Page Down) を書きましたが、何も起こりませんでした。
linux - Linux で nano/pico のようなプログラムを作成する方法
一番下に追加する行を出力するだけでなく、コンソールのすべての行に出力できるプログラムを作成する方法を考えていました。コンソール ベースのアプリを作成できるように、そのようにコンソール全体を制御するにはどうすればよいですか?
delphi - Delphiアプリがそのコンソールを「所有」しているかどうかを確認するにはどうすればよいですか?
Delphiコンソールアプリケーションは、既存のコンソールウィンドウのコマンドラインから実行でき、アイコンをダブルクリックして実行できます。後者の場合、独自のコンソールウィンドウを作成し、アプリケーションが終了したら閉じます。
コンソールアプリケーションが独自のウィンドウを作成したかどうかを確認するにはどうすればよいですか?
これを検出して、「Enterキーを押してウィンドウを閉じる」などのメッセージを表示し、ウィンドウが閉じる前に表示されている内容をユーザーに読み取らせることができるようにします。明らかに、アプリケーションがコマンドラインから実行されている場合は、これを行うのは適切ではありません。
重要な場合に備えて、私はDelphi2010を使用しています。
ruby - Ruby を使用して端末へのテキスト出力を色付けするにはどうすればよいですか?
Ruby を使用して、端末で出力するために背景と前景のテキストの色付けを実行するにはどうすればよいですか?
Pascal をプログラミングするときtextcolor(…)
、小さな教育プログラムをより見栄えよく見せるために独自の手順を作成していたことを覚えています。
それと同等のものをRubyでコーディングするにはどうすればよいでしょうか? これに役立つコア ライブラリの組み込みサポートはありますか? そうでない場合、それを追加する慣用的な方法は何ですか?
.net - ダブルクリックしてもコンソール ウィンドウが表示されないコンソール アプリを作成することはできますか?
関連:
アプリケーションにコマンド ライン モードを含める必要がありますか?
親プロセスの標準出力を取得するには?
コンソール アプリケーションは、エクスプローラーから実行されたかどうかを検出できますか?
通常はコマンド ラインから実行されるコンソール アプリを作成したいと考えています。
ただし、(cmd.exe プロンプトから実行するのではなく) Explorer 内からダブルクリックすると、プログラムがコンソール ウィンドウを表示しないようにします。
私はこれを避けたい:
出来ますか?
編集私はそれを尋ねる別の方法だと思います.プログラムがどのように呼び出されたかを知ることは可能ですか?ダブルクリックまたはコマンドラインによって?
私は Windows の .NET で作業しています。
編集 2:このOld New Thing のブログ投稿から、いくつかの良いことを学びました。これが私が今知っていることです...
Windows では、EXE ファイルは GUI または非 GUI としてマークされます。csc.exe では、 または で選択し/target:winexe
ます/target:exe
。プロセスの最初の命令が実行される前に、Windows カーネルは実行環境をセットアップします。その時点で、EXE が GUI とマークされている場合、カーネルはプロセスの stdin/stdout を NULL に設定し、非 GUI (コマンドライン) の場合、カーネルはコンソールを作成し、プロセスの stdin/stdout をそれに設定します。コンソール。
プロセスの起動時に stdin/stdout (== /target:winexe
) がない場合、呼び出しはすぐに戻ります。そのため、cmd.exe から GUI アプリを起動すると、すぐに cmd プロンプトが返されます。stdin/stdout があり、cmd.exe から実行されている場合、親の cmd.exe はプロセスの終了を待ちます。
親のコンソールにアタッチするように GUI アプリをコーディングすると、console.writeline などを実行できるようになるため、「即時復帰」は重要です。ただし、cmd.exe プロンプトはアクティブです。ユーザーは、新しいコマンドを入力したり、新しいプロセスを開始したりできます。つまり、winexe から親コンソールにアタッチするだけではAttachConsole(-1)
、コンソール アプリに「変換」されません。
この時点で、アプリが cmd.exe から呼び出された場合にコンソールを使用できるようにし、ダブルクリックされた場合にコンソールを使用できないようにする唯一の方法は、exe を通常のコンソール exe ( /target:exe
)として定義することだと思います。必要に応じて、起動時にウィンドウを非表示にします。コンソール ウィンドウが短時間表示されます。
エクスプローラーから起動されたのかcmd.exeから起動されたのかはまだわかりませんが、近づいています..
答え
コンソール ウィンドウを表示しないコンソール アプリをビルドすることはできません。
ウィンドウを非常にすばやく非表示にするコンソール アプリを作成することは可能ですが、ウィンドウがまったく表示されないかのようにすばやくではありません。
ここで、コンソール アプリがエクスプローラーから起動されたかどうかを判断するために、実行されているコンソールを確認することを提案する人もいます
( mgb の回答およびKB 記事 99115 から)。
これは、プロセスが独自のコンソールで起動されたかどうかを示しますが、エクスプローラーであったかどうかは示しません。エクスプローラーでダブルクリックするとこれが実行されますが、アプリ内から Start.Process() を実行しても同じことが実行されます。
これらの状況を別の方法で扱いたい場合は、これを使用して親プロセスの名前を学習します。
プロセスの起動後にウィンドウをすばやく非表示にするには、次を使用します。
(WinForms アプリ)を生成し、winexe
必要に応じて で親コンソールにアタッチするAttachConsole(-1)
と、通常のコンソール アプリと同等のものは得られません。winexe の場合、親プロセス (cmd.exe など) は、GUI アプリケーションを開始した直後にコマンド プロンプトに戻ります。つまり、起動したばかりのプロセスが出力を発行している間、コマンド プロンプトはアクティブで入力の準備ができています。これは紛らわしく、おそらく winforms アプリのデバッグにのみ役立ちます。
これは私にとってはうまくいきました。