我正在开发 WPF 应用程序。我有一个场景,当它弹出时我需要找到一个非托管弹出窗口并将其带到应用程序的前面。我使用 user32.dll 和以下代码片段(类似)来实现它:
private void SetPopupScreenForeground()
{
string popupTitle = "Popup Screen"
IntPtr hwnd = FindWindowByCaption(IntPtr.Zero, popupTitle);
if (IntPtr.Zero != hwnd)
{
SetForegroundWindow(hwnd);
}
}
但是当我在另一台机器上安装我的应用程序时,代码不起作用。从互联网上,我发现代码作为服务运行并且无法在不同的机器上访问的原因。这个问题有什么解决方法吗?
有没有办法在不使用 user32.dll 的情况下找到非托管窗口并将其置于 WPF 应用程序的前面?请帮忙。