启动后,应用程序不会出现在任务栏中留在主要的应用程序

时间:2013-09-25 12:18:15

标签: wpf mfc

我正在从MFC应用程序启动WPF应用程序。有时,当我启动WPF Applciation时,applciation确实会启动,但它不会出现在任务栏中。并留在主要应用程序后面。所以我一直在等待应用程序尚未启动。当我最小化主应用程序时,我发现它已经启动了。有谁可以请说明发生了什么?

由于

1 个答案:

答案 0 :(得分:1)

您正在错误地使用ShellExecute。请看一下here。最后一个参数nShowCmd是:

  

指定应用程序打开时如何显示的标志。如果lpFile指定文档文件,则该标志将简单地传递给关联的应用程序。由应用程序决定如何处理它。这些值在Winuser.h中定义。

因此,您需要指定所需的ShowWindow标志。我建议使用SW_SHOWNORMAL或SW_MAXIMIZE:

int nResult = (int)::ShellExecute(NULL, _T("open"), sExePath, NULL, NULL, SW_SHOWNORMAL);

int nResult = (int)::ShellExecute(NULL, _T("open"), sExePath, NULL, NULL, SW_MAXIMIZE);

检查函数的返回码也是个好主意。如果成功,则nReturn中的值应大于32.