0
我需要顯示wpf窗口而不更改其他進程的活動窗口。我正在使用帶SW_ShowNoActivate(4)的win32api ShowWindow來顯示一個窗口。但是,窗口的內容不會呈現。我試圖在ShowWindow之後調用window.UpdateLayout()和window.InvalidateVisual(),但沒有運氣。 我該如何實現它?使用win32api顯示wpf窗口ShowWindow ShowNoActivate不顯示內容
下面是一個示例解決方案,顯示我的問題(VS2015)here。
預期:標籤應顯示(顯示「測試」)
實際:顯示空窗
[源代碼](https://referencesource.microsoft.com/#PresentationCore/Core/CSharp/System/Windows/Interop/HwndTarget.cs,977)談到一個milcore錯誤解決方法,這很可能是相關。這些黑客往往只有在陽光燦爛的時候才能工作。正如評論中所建議的,您可以通過不需要分層窗口並確保窗口不被最小化來避免這種情況。 –
@HansPassant,你能指定行號嗎?是的,你對這個解決方法是正確的,但我不知道任何其他方式來顯示窗口沒有激活 – aderesh
@HansPassant,我想我已經找到相關的評論在981行,謝謝。 – aderesh