2011-02-03 15 views
0

私はWin32コンソールアプリケーションを作成し、cmdウィンドウを隠しました。したがって、アプリケーションが実行されている場合は、実行中のプロセスのみが表示されます。方法がある場合、次の方法でアプリケーションを変更したい: パラメータを定義すると、cmdウィンドウが表示されますが、このパラメータを使用しないと、cmdウィンドウが表示されずに実行されます。どのように表示/非表示にcmdのウィンドウ?

私はCMDウィンドウに以下の方法を示す無効にしている:

#pragma comment(linker, "/SUBSYSTEM:WINDOWS") 

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) 
{ 
... 
... 
... 
} 

はこれを行うにはどのように誰も考えていますか?

kampi

答えて

1

のWinMainへlpCmdLineパラメータを使用すると、プログラムのコマンドラインにアクセスすることができます。単にその値を読み取って、その値に基づいて適切な処置をとることができます。

編集:Windowsでコンソールを表示する実際の仕組みはちょっと難しいです。コンソールを作成してから、標準出力ストリームを書き換えてリダイレクトする必要があります。このhereについての素晴らしい議論は、これがどのように機能し、どのコードを実行する必要があるかを詳述する素晴らしい仕事です。

希望すると便利です。

+0

こんにちは!さて、私は値を読んだが、どのように私は/ウィンドウを有効にするのですか?あなたは私を少し助けてくれますか? – kampi

+0

@ Kampi-謝罪;私は、コンソールではなく、コマンドラインの読み方であなたがうまくいっていると思っていました。私はこれを行う方法の詳細について私の答えを編集しました。私はそれが便利だと思う! – templatetypedef

+0

ありがとう、これは私が必要なものです! – kampi

0

他の回答のコメントでは、コマンドラインパラメータの部分をうまく管理できると言ったので、ここでは役立つ部分があります。私はあなたがコンソールウィンドウを隠す必要があることを願っています。とにかく

、以下の(未テスト)をしてみてください。

ShowWindow(GetConsoleWindowHandle(),SW_HIDE); 
+1

この関数はハンドルを返すGetConsoleWindow()です。 –

関連する問題