C# - 捕获指针下窗口的截图

时间:2012-09-30 02:40:59

标签: c# screenshot

我正在制作一个截屏应用程序。

有关如何捕获活动窗口的答案,但我希望能够在鼠标下捕获窗口,即使它没有活动。

我是否正确理解我需要在鼠标下找到窗口的句柄,然后调用 Image.captureWindow(IntPtr句柄)

1 个答案:

答案 0 :(得分:0)

使用以下功能在屏幕上下文中获取光标位置

    POINT p;
if (GetCursorPos(&p))
{
    //cursor position now in p.x and p.y
}

现在你必须使用EnumWindow函数来枚举所有顶级窗口,然后每次尝试这个

    if (ScreenToClient(hwnd, &p))
{
    //p.x and p.y are now relative to hwnd's client area
}

当你得到一个窗口的正值时,就是光标所在的窗口。以下是如何从句柄中捕获窗口的示例

http://www.codeproject.com/Articles/19192/How-to-capture-a-Window-as-an-Image-and-save-it

希望这有助于你

相关问题