找回密码
 加入
搜索
查看: 4341|回复: 6

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

  [复制链接]
发表于 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[1] Then
If $aCursor^ ERROR
发表于 2015-3-11 08:53:11 | 显示全部楼层
这样: _ScreenCapture_Capture(@MyDocumentsDir & "\GDIPlus_Image1.jpg")
个人感觉是这个原因,如帮助文档里说的:
  返 回 值
    如果 $sFileName 为空, 则函数返回一个位图句柄.
    如果调用 $sFileName, 则图像保存到文件中, 并且没有返回值.
发表于 2015-3-11 11:25:42 | 显示全部楼层
测试没问题,提示的是数组出错,你就得检查数组的位置啊,你代码都没有数组,肯定不是这段代码的问题
 楼主| 发表于 2015-3-11 23:11:49 | 显示全部楼层
回复 3# zldfsz

我就是用这个代码测试的,没有其他多余的数组之类的了
 楼主| 发表于 2015-3-11 23:14:19 | 显示全部楼层
回复 2# vigiles

用了你的方法测试也是同样的错误提示。
发表于 2015-3-11 23:24:33 | 显示全部楼层
_ScreenCapture_Capture() 函数内部问题
缺少一个数组的判断,自行修改 ScreenCapture.au3 内该函数,将其“If $aCursor[1] Then” 改为 “If IsArray($aCursor) And $aCursor[1] Then”

评分

参与人数 1金钱 +10 收起 理由
chamlien + 10 厉害、佩服

查看全部评分

 楼主| 发表于 2015-3-11 23:34:32 | 显示全部楼层
回复 6# afan

谢谢A大,已经解决问题了!!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-25 15:18 , Processed in 0.075345 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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