AutoIT获取图片并显示图片

#cs ____________________________________


 Au3 版本: 3.3.6.1
 脚本作者: wozijisunfly 
 Email: 
 QQ/TM: 
 脚本版本: 获取图片
 脚本功能: 获取图片


#ce _______________脚本开始_________________


#include <ScreenCapture.au3>


$video = "Title"
WinWaitActive("[TITLE:" & $video & "]")
Sleep(2000)
$x = WinGetPos("[TITLE:" & $video & "]")
$width = $x[0]+$x[2]
$height = $x[1]+$x[3]
$path = "E:\AutoA\"
$videoname = "mei-"

While 1
WinWaitActive("[TITLE:" & $video & "]")
Sleep(100)
If FileExists($path) Then
_ScreenCapture_Capture($path & $videoname & _getPicName() & ".jpg", $x[0], $x[1], $width, $height)
Else
DirCreate($path)
; 捕捉全屏
;_ScreenCapture_Capture($path & _getPicName() & ".jpg")
;Sleep(1000)
; 捕捉区域
_ScreenCapture_Capture($path & _getPicName() & ".jpg", $x[0], $x[1], $width, $height)
EndIf
WEnd
Func _getPicName()
$year = @YEAR
$month = @MON
$day = @MDAY
$hour = @HOUR
$min = @MIN
$sec = @SEC
$msec = @MSEC
$name = $year & $month & $day & "_" & $hour & $min & $sec & $msec
Return $name

EndFunc



#cs ____________________________________


 Au3 版本: 3.3.6.1
 脚本作者: wozijisunfly 
 Email: 
 QQ/TM: 
 脚本版本: 显示图片
 脚本功能: 显示图片


#ce _______________脚本开始_________________




#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>


Opt("GUICoordMode", 2)
Opt("GUIResizeMode", 1)
Opt("GUIOnEventMode", 1)


Local $Form,$addr_input,$addr_label,$pic,$second_label1,$second_label2,$second_text
Local $OK_Btn


$Form = GUICreate("PicForYou", 700, 550, -1, -1, BitOR($WS_MINIMIZEBOX,$WS_CAPTION,$WS_POPUP,$WS_SYSMENU))


$addr_label = GUICtrlCreateLabel("目录地址:", 20, 16, 90, 25)
GUICtrlSetFont(-1,15)
$addr_input = GUICtrlCreateInput("",0, -25, 300, 25)
GUICtrlSetFont(-1,15)
$second_label1 = GUICtrlCreateLabel("每",0,-25,20)
GUICtrlSetFont(-1,15)
$second_text = GUICtrlCreateInput("",0,-25,40)
GUICtrlSetLimit(-1,3)
GUICtrlSetFont(-1,15)
$second_label2 = GUICtrlCreateLabel("秒/次",0,-25,60)
GUICtrlSetFont(-1,15)
$OK_Btn = GUICtrlCreateButton(" 确定 ", 5, -26, 70, 25)
GUICtrlSetOnEvent($OK_Btn, "clickOK")


$pic = GUICtrlCreatePic("C:\Control_PC\source.jpg", -605, 12, 700, 495)


GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents", $Form)
GUISetOnEvent($GUI_EVENT_MINIMIZE, "SpecialEvents", $Form)
GUISetOnEvent($GUI_EVENT_RESTORE, "SpecialEvents", $Form)
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "SpecialEvents", $Form)


GUISetState(@SW_SHOW)


While 1
Sleep(10)
WEnd


Func SpecialEvents()
Select
Case @GUI_CtrlId = $GUI_EVENT_CLOSE
Exit
Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE

Case @GUI_CtrlId = $GUI_EVENT_RESTORE

;Case @GUI_CtrlId = $GUI_EVENT_MAXIMIZE

    EndSelect
EndFunc


Func clickOK()
$dir = GUICtrlRead($addr_input)
$time = GUICtrlRead($second_text)
$dir = $dir & "\"
While True
If FileExists($dir) Or StringLen($dir) <> 0 Then
ExitLoop
Else
MsgBox(0,"PicMeg","无此路径,请确认后输入." & @CRLF & @CRLF & $dir)
;$dir = GUICtrlRead($addr_input)
Return
EndIf
WEnd
While True
If Not StringRegExp($time, '[0-9]|.{3}', 0) Then
MsgBox(0,"PicMeg","整点儿数字让我来读一下啊!")
Return
Else
ExitLoop
EndIf
WEnd
; 显示当前目录中所有文件的文件名
$search = FileFindFirstFile($dir & "*.*")  
; 检查搜索是否成功
If $search = -1 Then
MsgBox(0, "错误", "没有文件/目录 匹配搜索")
Exit
Else
While 1
$file = FileFindNextFile($search) 
If @error Then 
MsgBox(0,"PicMeg","已无图片显示。")
GUICtrlSetImage($pic,"C:\Control_PC\source.jpg")
ExitLoop
EndIf
If StringCompare(StringUpper(StringRight($file,4)),".JPG") == 0 Then
GUICtrlSetImage($pic,$dir & $file)
EndIf
Sleep(1000 * $time)
;$att = FileGetAttrib($dir & $file)
;If StringInStr($att, "D") Then
; MsgBox(0,"showme",$file,3)
;EndIf
;MsgBox(0, "文件:", $dir & $file,2)
WEnd
EndIf
; 关闭搜索句柄
FileClose($search)
EndFunc








  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好,我可以回答这个问题。使用autoit3可以通过WMI(Windows Management Instrumentation)来获取计算机硬件信息,例如CPU、内存、硬盘等。您可以使用AutoIt的ObjGet函数来获取WMI对象,然后使用该对象的方法来获取所需的信息。 ### 回答2: AutoIt3是一种用于自动化操作的脚本语言,通过编写AutoIt3脚本可以实现获取计算机硬件信息的功能。下面简要介绍一下如何使用AutoIt3获取计算机硬件信息。 首先,我们需要下载安装AutoIt3,安装完成后就可以开始编写脚本了。接下来,我们就可以通过AutoIt3的内置函数来获取计算机硬件信息。 AutoIt3提供了一系列函数来获取不同类型的硬件信息,比如: 1. 获取CPU信息:我们可以使用内置函数`_CPUGetInfo()`来获取CPU的名称、制造商以及架构等信息。 2. 获取内存信息:使用内置函数`_MemoryGetStats()`可以获取当前计算机的内存统计信息,比如可用内存、已用内存等。 3. 获取硬盘信息:AutoIt3提供了`DriveGetDrive()`函数来获取计算机上的所有硬盘驱动器,进而可以使用`DriveGetModel()`函数来获取每个硬盘的模型和序列号等信息。 4. 获取网络适配器信息:使用`_NetworkGetAdapterInfo()`可以获取计算机上所有网络适配器的信息,如适配器名称、MAC地址等。 5. 获取显示器信息:使用`_MonitorGetInfo()`可以获取计算机上所有显示器的信息,如显示器的名称、分辨率等。 当我们获取到这些硬件信息后,还可以将其保存到文件或者在程序中进行处理和展示等。 总的来说,AutoIt3是一个功能强大的自动化脚本语言,通过利用它的内置函数,我们可以方便地获取计算机的硬件信息。当然,除了AutoIt3,还有其他一些工具和编程语言也可以实现相似的功能,选择使用哪种方式主要取决于个人的偏好和需求。 ### 回答3: AutoIt是一种基于脚本的自动化语言,可以用于控制和模拟用户操作。虽然AutoIt本身并不直接提供获取计算机硬件信息的功能,但可以利用其脚本的编写和执行能力,结合操作系统的相关接口函数来实现。 通过调用AutoIt的相关功能函数,可以获取计算机硬件的信息,例如: 1. 获取CPU信息:可以使用WMI(Windows Management Instrumentation)来查询计算机的CPU信息。可以使用AutoIt的WMI相关函数来实现,例如使用`ObjGet`函数获取WMI对象,然后通过对象的属性获取CPU信息。 2. 获取内存信息:可以使用AutoIt的内存函数来获取计算机的内存信息,例如使用`MemGetStats()`函数来获取内存的使用情况,包括总内存大小、可用内存大小等。 3. 获取硬盘信息:可以使用AutoIt的文件操作函数来获取硬盘的信息,例如使用`DriveGetDrive()`函数获取计算机上的所有硬盘列表,然后使用`DriveSpaceTotal()`函数获取每个硬盘的总容量。 4. 获取网络适配器信息:可以使用AutoIt的网络函数来获取计算机的网络适配器信息,例如使用`Ping()`函数来检测网络适配器的连通性,或者使用`IPConfigGetAdaptersInfo()`函数获取网络适配器的详细信息。 综上所述,虽然AutoIt本身不能直接获取计算机硬件信息,但通过调用相关的操作系统接口函数,结合AutoIt的脚本编写能力,可以实现获取计算机硬件信息的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值