2016-07-04 11 views
0

次のnCmdShowパラメータはどのように指定しますか?コマンドライン引数の名前は何ですか?または、このパラメータはCreateProcessを使用している場合にのみ使用されますか?Windowsの指定方法nCmdShow

int APIENTRY _tWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPTSTR lpCmdLine, _In_ int nCmdShow) 

myexe.exe /nCmdShow=1としますか?

+2

これはコマンドラインでは提供されていません。あなたが指摘したように、アプリケーションを起動すると、CreateProcessの 'STARTUPINFO'パラメータを介して提供され、別のパラメータがコマンドラインを受け取ります。もしあなたがそうでなければ、プログラム的に 'CreateProcess'を自分で呼んでください。本当にこのフラグに影響を与えることはできません。 - まあ - ショートカットには、(実行中の)Runというフィールドがあります。 –

+0

OK、タスクスケジューラは私のアプリを実行しているので、TSが実行されているときは表示されないようにしてください。ですから、nCmdShowを使用する代わりに表示する必要があるかどうかを処理するカスタムコマンドライン引数を渡します。 –

+0

あなたのアプリなら、それを実行できます。しかし、他のアプリのために、私はあなたがショートカットとポイントタスクスケジューラを作成できると確信しています。 –

答えて

-2

nCmdShowは、アプリコマンドラインとは関係ありません。 Docs次へ:

ウィンドウの表示方法を制御します。

そして値は、SW_*コードの1つです。正確な値が渡されるかどうかを確認するには、Windows SDKで利用できるはずのアプリケーション起動ソースコードを確認します(少なくともw2k用のPlatform SDK用)。たとえば、hereを参照してください。

+2

* "私の推測では、このパラメータは古い16-bit Windows日の遺産であり、実際の値は常に一定です。" * - いいえ、そうではありません。これは、[ShellExecuteEx]を呼び出すとき、[SHELLEXECUTEINFO](* https://msdn.microsoft.com/en-us/library/windows/desktop/bb759784.aspx)の* nShow *に格納された値です。[ShellExecuteEx]を呼び出すとき、[wShowWindow * STARTUPINFO](https://msdn.microsoft.com/en-us/library/windows/desktop/ms686331.aspx)を参照してください。詳細については、[ShowWindow](* https://msdn.microsoft.com/en-us/library/windows/desktop/ms633548.aspx)の*備考*セクションを参照してください。 – IInspectable

+0

@IInspectableはい、そうです。それは、場合によってはSTARTUPINFOから取り出されます。答えを訂正する。 – Sergio

+1

* "Windows SDKで利用できるはずのアプリケーション起動ソースコードを確認する" * - CRT(およびその中のスタートアップコード)はコンパイラの一部です。 SDKには同梱されていません。また、それはあまり啓発されていません:単に[GetStartupInfo](https://msdn.microsoft.com/en-us/library/windows/desktop/ms683230.aspx)を呼び出します。 – IInspectable

関連する問題