Я занимаюсь разработкой панели задач для экрана секунд и не могу заставить эту вещь работать ..
Когда я сверну приложение на экране секунд, оно покажет анимацию минимизации на главном экране (вид& 7 аэро).То, что я пытаюсь сделать, это показать анимацию на моей собственной панели задач на экране секунд.Я знаю, что это возможно, потому что Displayfusion и Acual Multi Monitor также имеют эту функцию.Поэтому после небольшого исследования я обнаружил, что вы можете установить позицию минимизации с помощью API SetWindowPlacement.Однако я не могу заставить это работать.В окне по-прежнему будет отображаться анимация минимизации на главном экране.
Это то, что я пробовал до сих пор: сначала скрыть кнопку панели задач в окне, которое находится на втором экране, с помощью метода ITaskbarList DeleteTab.Затем я использую эту функцию, чтобы установить позицию минимизации и свернуть окно:
public void ShowHideAnimated(IntPtr Handle, Boolean show)
{
WINDOWPLACEMENT wp = new WINDOWPLACEMENT();
GetWindowPlacement(Handle, out wp);
wp.length = Marshal.SizeOf(typeof(WINDOWPLACEMENT));
wp.flags = WPF_SETMINPOSITION;
wp.ptMinPosition.X = -500; //(-500,200) is a point on the second screen
wp.ptMinPosition.Y = 200;
if (!SetWindowPlacement(Handle, ref wp))
{
Debug.WriteLine( Marshal.GetLastWin32Error() );
}
if(!show)
{
ShowWindowAsync(Handle, SW_MINIMIZE);
}
else
{
ShowWindowAsync(Handle, SW_RESTORE);
}
}