C++ 为什么我们需要通过ShellExecute传递LPCTSTR lpParameters

C++ 为什么我们需要通过ShellExecute传递LPCTSTR lpParameters,c++,windows,shellexecute,C++,Windows,Shellexecute,Shell Execute具有以下签名: 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,我们可以在我

Shell Execute具有以下签名:

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);
我可以在第四个参数中传递一些东西吗,例如:lpParameters,这样我就可以用MyApp.Exe处理这个问题,假设我在第四个参数中传递“Hi:

HINSTANCE hShellExecuteStatus = ShellExecute(NULL, "open", "MyPath/MyApp.EXE", "Hi", NULL, SW_SHOWNORMAL);
我可以检查我的应用程序是否为hi并显示HIG消息吗


我尝试使用POSTMESSAGE,但对shellexecute没有帮助。

lpParameters
将在命令行中通过。使用
GetCommandLine()
查看它。

我可以只获取从shellexecute传递的参数吗,GetCommandLine将同时返回路径和参数