本文告诉大家几个方法在 UWP 获取窗口的坐标和宽度高度

获取可视范围

获取窗口的可视大小

Windows.UI.ViewManagement.ApplicationView.GetForCurrentView().VisibleBounds

获取当前窗口的坐标和宽度高度

Window.Current.Bounds

获取最前窗口的范围

通过 Win32 的 Api 获取最前的窗口的范围


IntPtr hWID = GetForegroundWindow();

Rect rect;

Rect* ptr = ▭

GetWindowRect(GetForegroundWindow(), pAngle);

return rect;



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

    [DllImport("user32.dll", CharSet = CharSet.Ansi)]
    private unsafe static extern Boolean GetWindowRect(IntPtr intPtr, Rect* lpRect);

private struct Rect
{
    public int left;
    public int top;
    public int right;
    public int bottom;
}

本文会经常更新,请阅读原文: https://dotnet-campus.github.io//post/win10-uwp-%E8%8E%B7%E5%8F%96%E7%AA%97%E5%8F%A3%E7%9A%84%E5%9D%90%E6%A0%87%E5%92%8C%E5%AE%BD%E5%BA%A6%E9%AB%98%E5%BA%A6.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 lindexi (包含链接: https://dotnet-campus.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系