【发布时间】:2013-09-05 03:51:36
【问题描述】:
我正在制作一个作为 Windows 启动程序反应的应用程序。
它显示不同的图标,以便用户只能打开允许的图标。
现在,当用户连续打开 2 个程序时,第一次打开的程序位于我的 wpf 应用程序的后面。
由于应用已最大化且用户无法将其最小化,因此它会被隐藏。
在windows表单中,我们可以设置一个表单发送到后面,这样每个程序都会在它上面浮动,但不幸的是wpf中没有这样的属性。
怎么做?
【问题讨论】:
我正在制作一个作为 Windows 启动程序反应的应用程序。
它显示不同的图标,以便用户只能打开允许的图标。
现在,当用户连续打开 2 个程序时,第一次打开的程序位于我的 wpf 应用程序的后面。
由于应用已最大化且用户无法将其最小化,因此它会被隐藏。
在windows表单中,我们可以设置一个表单发送到后面,这样每个程序都会在它上面浮动,但不幸的是wpf中没有这样的属性。
怎么做?
【问题讨论】:
试试这个:
using System.Runtime.InteropServices;
const UInt32 SWP_NOSIZE = 0x0001;
const UInt32 SWP_NOMOVE = 0x0002;
const UInt32 SWP_NOACTIVATE = 0x0010;"
static readonly IntPtr HWND_BOTTOM = new IntPtr(1);
static void ShowWindowBack(Window window)
{
var x= new WindowInteropHelper(window).Handle;
SetWindowPos(x, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE");
}
【讨论】: