我有一个应用程序,可以从本地计算机截取屏幕截图。多年来一切正常,直到我的同事报告说他从我的应用程序中得到了“句柄无效”的错误。
此错误来自.NET框架内的
为了解决这个问题,我使用
这是在Windows 7上发生的。
那里发生了什么? 我无法独自调查这个问题,因为我无法重现它,而我的同事则在另一个国家。
我在Google中搜索并且很多人报告此错误。 但我找到的所有帖子都是来自试图通过服务器上的ASP代码从客户端计算机中获取屏幕截图的人们。我不明白人们怎么会有奇怪的愿望从网站抓取客户端计算机。这显然行不通。
但是我找不到一个单一的案例,其中有人报告说无法从相同会话中的SAME计算机捕捉屏幕的应用程序遇到此问题。
此错误来自.NET框架内的
Graphics.CopyFromScreen()
。为了解决这个问题,我使用
GetDC(GetDesktopWindow())
/GetDC(NULL)
和BitBlt()
将此功能替换为C++代码来复制屏幕到位图。现在我得到了ERROR_INVALID_HANDLE
。这是在Windows 7上发生的。
那里发生了什么? 我无法独自调查这个问题,因为我无法重现它,而我的同事则在另一个国家。
我在Google中搜索并且很多人报告此错误。 但我找到的所有帖子都是来自试图通过服务器上的ASP代码从客户端计算机中获取屏幕截图的人们。我不明白人们怎么会有奇怪的愿望从网站抓取客户端计算机。这显然行不通。
但是我找不到一个单一的案例,其中有人报告说无法从相同会话中的SAME计算机捕捉屏幕的应用程序遇到此问题。