chamlien 发表于 2015-3-11 02:34:11

【已解决】关于全屏截图在电脑锁屏后截图出错,如何解决?

本帖最后由 chamlien 于 2015-3-11 23:35 编辑

#include <ScreenCapture.au3>
while 1

sleep(10000)
_Main()

WEnd
Func _Main()
        Local $hBmp

        ; 捕获整个屏幕
        $hBmp = _ScreenCapture_Capture("")

        ; 保存位图到文件
        _ScreenCapture_SaveImage(@MyDocumentsDir & "\GDIPlus_Image.jpg", $hBmp)

EndFunc   ;==>_Main

电脑锁屏后,会出错,怎样解决?出错如下:

==> Subscript used on non-accessible variable.:
If $aCursor Then
If $aCursor^ ERROR

vigiles 发表于 2015-3-11 08:53:11

这样: _ScreenCapture_Capture(@MyDocumentsDir & "\GDIPlus_Image1.jpg")
个人感觉是这个原因,如帮助文档里说的:
返 回 值
    如果 $sFileName 为空, 则函数返回一个位图句柄.
    如果调用 $sFileName, 则图像保存到文件中, 并且没有返回值.

zldfsz 发表于 2015-3-11 11:25:42

测试没问题,提示的是数组出错,你就得检查数组的位置啊,你代码都没有数组,肯定不是这段代码的问题

chamlien 发表于 2015-3-11 23:11:49

回复 3# zldfsz

我就是用这个代码测试的,没有其他多余的数组之类的了

chamlien 发表于 2015-3-11 23:14:19

回复 2# vigiles

用了你的方法测试也是同样的错误提示。

afan 发表于 2015-3-11 23:24:33

_ScreenCapture_Capture() 函数内部问题
缺少一个数组的判断,自行修改 ScreenCapture.au3 内该函数,将其“If $aCursor Then” 改为 “If IsArray($aCursor) And $aCursor Then”

chamlien 发表于 2015-3-11 23:34:32

回复 6# afan

谢谢A大,已经解决问题了!!
页: [1]
查看完整版本: 【已解决】关于全屏截图在电脑锁屏后截图出错,如何解决?