【发布时间】:2012-09-30 02:40:58
【问题描述】:
我正在制作一个屏幕捕捉应用程序。
有关于如何捕获活动窗口的答案,但我希望能够在鼠标下捕获一个窗口,即使它不活动。
我是否正确理解我需要在鼠标下找到窗口句柄然后调用Image.captureWindow(IntPtr handle)?
【问题讨论】:
-
也许这可能会有所帮助:stackoverflow.com/questions/715094/…
标签: c# screenshot
我正在制作一个屏幕捕捉应用程序。
有关于如何捕获活动窗口的答案,但我希望能够在鼠标下捕获一个窗口,即使它不活动。
我是否正确理解我需要在鼠标下找到窗口句柄然后调用Image.captureWindow(IntPtr handle)?
【问题讨论】:
标签: c# screenshot
使用以下函数获取屏幕上下文中的光标位置
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
希望对你有帮助
【讨论】: