2010-11-30 6 views
2

シェルでLPCTSTRのlpParametersに合格する必要があります、次のシグネチャがあります。は、なぜ我々は実行のShellExecute

HINSTANCE ShellExecute(
    __in_opt HWND hwnd, 
    __in_opt LPCTSTR lpOperation, 
    __in  LPCTSTR lpFile, 
    __in_opt LPCTSTR lpParameters, 
    __in_opt LPCTSTR lpDirectory, 
    __in  INT nShowCmd 
); 

我々はlpParametersを使用することができ、私たちは自分のアプリケーションでパラメータを処理する方法。私は以下のように私のアプリを実行しています:

HINSTANCE hShellExecuteStatus = ShellExecute(NULL, "open", "MyPath/MyApp.EXE", NULL, NULL, SW_SHOWNORMAL); 

は、私は4番目のパラメータ、すなわちで何かを渡すことができます:lpParametersを、私はこんにちは」渡していた場合のは言わせ、MYAPP.EXEでこれを扱うことができるように:第四にPARAM:

HINSTANCE hShellExecuteStatus = ShellExecute(NULL, "open", "MyPath/MyApp.EXE", "Hi", NULL, SW_SHOWNORMAL); 

が、私はそれはハイテクで、高いメッセージを表示するかどうかを自分のアプリケーションで確認することができます

私はのpostMessageでみましたが、ShellExecuteを

答えて

2

0123と便利ではありません。がコマンドラインで入力されます。ご覧になるにはGetCommandLine()を使用してください。

+0

ShellExecuteから渡されたパラメータだけを取得できますか?GetCommandLineはパスとパラメータの両方を返します – Simsons

+2

CommandLineToArgvW()を使用します。 –