远程桌面会话中的屏幕截图

时间:2016-11-04 20:52:11

标签: .net vb.net screenshot remote-desktop

我编写了一个桌面应用程序,它将根据所选窗口的句柄(保存到变量intHandle)获取正在运行的应用程序的屏幕截图,并且工作正常。它只截取该特定应用程序窗口的屏幕截图。它采用屏幕截图并每秒分析图像,即使在PC被锁定或应用程序不是活动窗口时也能继续正常运行。

问题1:当我通过远程桌面登录时,它似乎忽略传入的窗口句柄,现在获取活动远程桌面窗口的屏幕截图,而不是特定的应用程序窗口。

Dim sc As New ScreenShot.ScreenCapture
Dim Screenshot As Image = sc.CaptureWindow(intHandle)

我已经确认intHandle在本地登录,切换到远程然后再返回本地之间没有变化。如何通过远程桌面登录时只使用intHandle的屏幕截图?

问题2:当我运行屏幕截图应用程序与远程桌面断开连接时,它只创建没有图像的黑色屏幕截图,但大小仍然是正确的大小。一旦我再次在本地登录,它就会继续根据intHandle捕获特定的应用程序窗口。如何让它继续使用intHandle获取窗口的屏幕截图,而不仅仅是创建一个空白的黑色图像?

1 个答案:

答案 0 :(得分:-1)

问题2很有意义,出于安全考虑,请从此“ PowerShell Screen Capture”中进行检查

报价: 简而言之,只有从已登录用户下面运行,才能创建正确的屏幕截图。如果用户匹配,则计划任务有资格。以系统管理员或本地管理员身份运行将无法获取屏幕截图。