我在我的 WPF 应用程序中创建了一个 APPBAR,它在 Windows 7 中运行良好,但在 XP 中它有一个问题。关闭应用程序后,我希望 APPBAR 使用的空间应该是空闲的并重新分配给桌面,但这在 Windows XP 中不会发生。但是,如果我锁定/解锁任务栏,那么它会将空间分配回系统。
请引导我找到一些解决方案。
我在我的 WPF 应用程序中创建了一个 APPBAR,它在 Windows 7 中运行良好,但在 XP 中它有一个问题。关闭应用程序后,我希望 APPBAR 使用的空间应该是空闲的并重新分配给桌面,但这在 Windows XP 中不会发生。但是,如果我锁定/解锁任务栏,那么它会将空间分配回系统。
请引导我找到一些解决方案。
public static void RemoveAppBar(Window appbarWindow)
{
RegisterInfo info = GetRegisterInfo(appbarWindow);
if (info.IsRegistered)
{
APPBARDATA abd = new APPBARDATA();
abd.cbSize = Marshal.SizeOf(abd);
abd.hWnd = new WindowInteropHelper(appbarWindow).Handle;
SHAppBarMessage((int)ABMsg.ABM_REMOVE, ref abd);
}
}
在 App.Exit 事件上调用此方法并将您的 appbar 窗口传递给它。