2013-09-25 63 views
1

我從MFC應用程序啓動WPF應用程序。有時會發生,當我啓動WPF Applciation時,應用程序確實啓動了,但它並未出現在任務欄中。並留在主要應用程序之後。所以我一直在等待應用程序尚未啓動。當我最小化主應用程序時,我發現它已經啓動。任何人都可以請確定發生了什麼事?應用程序在啓動時並未出現在任務欄中,並且位於主應用程序後面

謝謝

+0

您可能需要向我們展示一些代碼。你如何啓動你的wfp應用程序?你使用CreateProcess嗎? – cha

+0

'ShellExecute(NULL,_T(「open」),sExePath,NULL,NULL,0);'這是我如何啓動exe文件。 – WAQ

回答

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.

相關問題