为什么我们需要使用ShellExecute传递LPCTSTR lpParameters

时间:2010-11-30 12:25:44

标签: 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,我们可以处理我的应用程序中的参数。我正在执行我的应用程序,如下所示:

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

我可以在第4个参数中传递一些东西,即:lpParameters,这样我就可以使用MyApp.Exe来处理这个问题,假设我正在传递“嗨:在第4个参数中:

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

我可以检查我的应用程序是否为hi并显示高消息。

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

1 个答案:

答案 0 :(得分:2)

lpParameters将在命令行中显示。使用GetCommandLine()查看。