ysping 发表于 2016-8-30 10:59:33

_ScreenCapture_Capture截屏黑屏

_ScreenCapture_Capture截屏本来是正常的,但是这几天突然大部分截屏都是黑屏了,只有偶尔正常,请问谁遇到过?如何排查原因?没有设置屏保,显示器从不关闭。

chamlien 发表于 2016-8-30 12:46:10

_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

试试看

ysping 发表于 2016-8-30 12:50:44

回复 2# chamlien


    谢谢!我试试!

ysping 发表于 2016-8-30 13:06:01

回复 2# chamlien


    没有If $aCursor Then,只有If Not @error And $aCursor Then,这个要该吗?

ysping 发表于 2016-8-30 14:13:57

改成If Not @error And IsArray($aCursor) And $aCursor Then还是一样的问题

ysping 发表于 2016-8-30 14:14:18

改成If Not @error And IsArray($aCursor) And $aCursor Then还是一样的问题

ysping 发表于 2016-8-30 14:15:58

问题很奇怪,运行截屏的服务器是同一台,通过win7的远程桌面登录上去执行是正常的,通过windows2003上去执行就是黑屏!!

ysping 发表于 2016-8-30 14:16:14

截屏程序是一样的。

alwaystick 发表于 2016-8-30 17:42:16

本帖最后由 alwaystick 于 2016-8-30 17:43 编辑

你是不是远程桌面连接断开后,或者锁屏后截屏?在这些情况下是截不到屏的。
或者把程序编译成32位试一下。
如果还不行,试一下管理员权限能不能截到屏。

ysping 发表于 2016-8-30 18:17:58

回复 9# alwaystick


    远程桌面没有断开,也没有锁屏!不是每次都黑屏,偶尔有次把是可以正常截图的,好奇怪。

ysping 发表于 2016-8-30 18:20:17

回复 9# alwaystick


    你说到32bit,倒是运行远程桌面的这两台终端有一点不同,windows2003是32bit,win7是64bit,运行截屏程序的服务器是win7 64bit。难道和这有关系?

alwaystick 发表于 2016-8-30 18:50:16

本帖最后由 alwaystick 于 2016-8-30 18:53 编辑

回复 11# ysping
AutoIt有个特点,很多内置UDF只有在32位模式下才能运行正常,甚至有些还要管理员权限。
也有一种可能,那就是这个截屏函数和2003系统不太兼容。要不然你试试看XP怎么样?

ysping 发表于 2016-8-30 19:11:13

回复 12# alwaystick


    没有xp了,在win7 64bit上通过远程桌面连接上去执行基本是没有问题的。
我只是在windows 2003上通过远程桌面连接到远程的win7 64上去执行截屏程序,程序是运行在远程机器上的,怎么和客户端相关呢?是在想不明白啊!
我把远程服务器也换成32bit重新编译看看是不是和64bit有关系。

alwaystick 发表于 2016-8-30 23:06:32

回复 13# ysping
从你这个情况看,可能是系统问题。
实在解决不了,就干脆模拟PrintScreen按键从剪贴板里提取屏幕截图,这个方法肯定行得通!

ysping 发表于 2016-8-31 08:29:09

回复 14# alwaystick


    嗯。我打算用PrintScreen试试。
页: [1]
查看完整版本: _ScreenCapture_Capture截屏黑屏