找回密码
 加入
搜索
查看: 11750|回复: 17

[系统综合] 关于在远程服务器上截图的问题。

 火.. [复制链接]
发表于 2012-4-6 06:16:47 | 显示全部楼层 |阅读模式
我有一个需求,就是在远程的服务器上每隔一定时间截取屏幕。我尝试着用计划任务和_ScreenCapture_Capture来实现,但是发现截取到的图片都是漆黑的一片。不知道有什么好的方法可以满足我这个需求?请高手指教,谢谢!
发表于 2012-4-6 09:11:47 | 显示全部楼层
C/S--TCP.au3
发表于 2012-4-6 11:51:41 | 显示全部楼层
是不是因为服务器长时间没有人操作 显示器自动关闭了 所以你截图也是黑的  试试在截图之前发送一个模拟鼠标或者键盘的操作(mousemove,send) 然后延时一会儿再试试
还有就是在电源设置里面把关闭显示器 关闭硬盘 待机的时间通通改为永不。
发表于 2012-4-7 02:08:56 | 显示全部楼层
测试截取到的图片是正常的吗?如果是我直接找个截图工具设置快捷键循环发送了
发表于 2012-4-7 06:39:03 | 显示全部楼层
被当做计划任务来执行的程序,默认是工作在SADesktop桌面中,这个桌面中的内容不会显示在屏幕上,看下_ScreenCapture_Capture函数的内部工作原理吧,先调用GetDesktopWindow获取当前线程所处桌面的窗口句柄,再GetDC获取设备场景。_ScreenCapture_Capture真没有什么BUG,也不是显示器关闭的原因,在_ScreenCapture_Capture之前,先调用User32.dll中的SetThreadDesktop函数设置一下当前线程所属的桌面就好了。或者,如果楼主兄是调用at命令来添加计划任务,指定/interactive参数也能解决问题。

评分

参与人数 4金钱 +40 贡献 +4 收起 理由
chenronting + 20 知者不难也!
user3000 + 10 + 1 对WINDOWS真了解!
afan + 3 博学
zch11230 + 10 版主你为何能知道得如此之多。

查看全部评分

 楼主| 发表于 2012-4-7 07:52:16 | 显示全部楼层
被当做计划任务来执行的程序,默认是工作在SADesktop桌面中,这个桌面中的内容不会显示在屏幕上,看下_Scre ...
pusofalse 发表于 2012-4-7 06:39


多谢多谢,超级版主讲得实在是太好了,再次感谢!
 楼主| 发表于 2012-4-9 09:50:04 | 显示全部楼层
能说一下如何使用USER32.dll 的SetThreadDesktop 方法吗?实在是查不到。
 楼主| 发表于 2012-4-9 13:51:27 | 显示全部楼层
使用了at 创建的计划任务也用了/interactive,还是截取到黑乎乎的一片。
发表于 2012-4-14 20:32:05 | 显示全部楼层
回复 8# yoshubom


    不可能,我测试了的,指定/interactive参数能正常截图。
at命令的语法是: at <TIME> [/interactive] <COMMAND LINE>

注意/interactive参数应该在TIME参数之后,COMMAND LINE参数之前,你如果是将/interactive参数放于COMMAND LINE参数之后,这当然是不行的,因为会被当做 计划任务程序的参数,而不是at命令的参数。

评分

参与人数 1金钱 +10 收起 理由
user3000 + 10 耐心!

查看全部评分

发表于 2012-5-11 14:56:21 | 显示全部楼层
用系统截图工具不行吗?  不然的话用API试试
发表于 2012-5-11 14:56:36 | 显示全部楼层
用系统截图工具不行吗?  不然的话用API试试
发表于 2012-5-12 08:15:47 | 显示全部楼层
回复 5# pusofalse
P版真是厉害啊!学习了~
 楼主| 发表于 2013-1-11 09:46:41 | 显示全部楼层
回复 9# pusofalse

版主你好!我用以下代码:
#include <ScreenCapture.au3>

; Capture full screen
_ScreenCapture_Capture(@ScriptDir & "\GDIPlus_Image1.jpg")
编译成e:\1.exe ,后用 at 9:41 /interactive e:\1.exe 添加计划任务。
按下 win 键盘+L 锁定计算机,最后发现生成的 GDIPlus_Image1.jpg 还是一片漆黑。
发表于 2013-1-11 10:43:14 | 显示全部楼层
不能锁定,否则就是黑屏哈
 楼主| 发表于 2013-1-11 19:57:22 | 显示全部楼层
回复 5# pusofalse

SetThreadDesktop 如何设置成其他桌面,还望版主指教!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-2 20:45 , Processed in 0.101192 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表