尽管提供了所有参数,但 SetWindowPos 没有做任何事情
SetWindowPos not doing anything despite providing all parameters
我已经导入了 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 确实 return 一个有效值,但 SetWindowPos 没有做任何事情:
IntPtr hWID = GetForegroundWindow();
SetWindowPos(hWID, IntPtr.Zero, 50, 500, 800, 800, 0x0004);
我需要设置一些功能吗?还是我忘记了权限?
似乎将相同的代码块插入到 .NET 项目中会产生想要的结果。有没有办法在 UWP 中实现此目的,还是我必须在 .NET 中实现此目的?
出于各种原因,大多数 User
API 不适用于 UWP 应用程序。商店也不支持它们,因此如果您想提交您的应用程序,您将无法摄取。
UWP 目前对窗口的支持有限,但我们一直在寻求改进(例如在 WPF 应用程序中启用 XAML 控件)。
我已经导入了 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 确实 return 一个有效值,但 SetWindowPos 没有做任何事情:
IntPtr hWID = GetForegroundWindow();
SetWindowPos(hWID, IntPtr.Zero, 50, 500, 800, 800, 0x0004);
我需要设置一些功能吗?还是我忘记了权限?
似乎将相同的代码块插入到 .NET 项目中会产生想要的结果。有没有办法在 UWP 中实现此目的,还是我必须在 .NET 中实现此目的?
出于各种原因,大多数 User
API 不适用于 UWP 应用程序。商店也不支持它们,因此如果您想提交您的应用程序,您将无法摄取。
UWP 目前对窗口的支持有限,但我们一直在寻求改进(例如在 WPF 应用程序中启用 XAML 控件)。