_ScreenCapture_Capture截屏黑屏
_ScreenCapture_Capture截屏本来是正常的,但是这几天突然大部分截屏都是黑屏了,只有偶尔正常,请问谁遇到过?如何排查原因?没有设置屏保,显示器从不关闭。 _ScreenCapture_Capture() 函数内部问题缺少一个数组的判断,自行修改 ScreenCapture.au3 内该函数,将其“If $aCursor Then” 改为 “If IsArray($aCursor) And $aCursor Then
出处:http://www.autoitx.com/forum.php?mod=redirect&goto=findpost&ptid=47388&pid=616240&fromuid=7660926
试试看 回复 2# chamlien
谢谢!我试试! 回复 2# chamlien
没有If $aCursor Then,只有If Not @error And $aCursor Then,这个要该吗? 改成If Not @error And IsArray($aCursor) And $aCursor Then还是一样的问题 改成If Not @error And IsArray($aCursor) And $aCursor Then还是一样的问题 问题很奇怪,运行截屏的服务器是同一台,通过win7的远程桌面登录上去执行是正常的,通过windows2003上去执行就是黑屏!! 截屏程序是一样的。 本帖最后由 alwaystick 于 2016-8-30 17:43 编辑
你是不是远程桌面连接断开后,或者锁屏后截屏?在这些情况下是截不到屏的。
或者把程序编译成32位试一下。
如果还不行,试一下管理员权限能不能截到屏。 回复 9# alwaystick
远程桌面没有断开,也没有锁屏!不是每次都黑屏,偶尔有次把是可以正常截图的,好奇怪。 回复 9# alwaystick
你说到32bit,倒是运行远程桌面的这两台终端有一点不同,windows2003是32bit,win7是64bit,运行截屏程序的服务器是win7 64bit。难道和这有关系? 本帖最后由 alwaystick 于 2016-8-30 18:53 编辑
回复 11# ysping
AutoIt有个特点,很多内置UDF只有在32位模式下才能运行正常,甚至有些还要管理员权限。
也有一种可能,那就是这个截屏函数和2003系统不太兼容。要不然你试试看XP怎么样? 回复 12# alwaystick
没有xp了,在win7 64bit上通过远程桌面连接上去执行基本是没有问题的。
我只是在windows 2003上通过远程桌面连接到远程的win7 64上去执行截屏程序,程序是运行在远程机器上的,怎么和客户端相关呢?是在想不明白啊!
我把远程服务器也换成32bit重新编译看看是不是和64bit有关系。 回复 13# ysping
从你这个情况看,可能是系统问题。
实在解决不了,就干脆模拟PrintScreen按键从剪贴板里提取屏幕截图,这个方法肯定行得通! 回复 14# alwaystick
嗯。我打算用PrintScreen试试。
页:
[1]