SetWindowPos ничего не делает, несмотря на предоставление всех параметров - PullRequest
0 голосов
/ 20 ноября 2018

Я импортировал SetWindowPos и ​​GetForegroundWindow:

[DllImport("user32.dll", CharSet = CharSet.Ansi)]
private static extern IntPtr GetForegroundWindow();


[DllImport("user32.dll", CharSet = CharSet.Ansi)]
static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, UInt32 uFlags);

Я пытался их использовать, и хотя GetForegroundWindow действительно возвращает действительное значение, SetWindowPos ничего не делает:

IntPtr hWID = GetForegroundWindow();
SetWindowPos(hWID, IntPtr.Zero, 50, 500, 800, 800, 0x0004);

Есть ли какие-то возможности, которые мне нужно установить?Или я забыл разрешение?

Кажется, что тот же блок кода, вставленный в проект .NET, дает желаемые результаты.Есть ли способ добиться этого в UWP, или я должен сделать это в .NET?

1 Ответ

0 голосов
/ 21 ноября 2018

Большинство API User не будет работать для приложения UWP по разным причинам.Они также не поддерживаются в Магазине, поэтому вы не сможете принять их, если захотите отправить свое приложение.

В настоящее время UWP имеет ограниченную поддержку работы с окнами, хотя мы всегда стремимся улучшить ситуацию (например, включить XAML).элементы управления внутри приложений WPF).

...