我正在寻找一些帮助,创建一些代码来查看我的屏幕区域,然后在60秒后检查它是否已更改.
在它发生变化后,我试图通过Skype向一群人发送消息,但是我遇到的问题是我无法使用ControlCommand,MouseMove,MouseClick,ControlSend轻松改变聊天等等.
我甚至尝试使用MouseClickPlus在最小化时单击,但这根本不起作用.
我正在尝试查看的框的问题是: 86, 109, 280, 109
如果有人知道如何做到这一点,我将非常感谢帮助.
看起来你需要使用Skype UDF和PixelChecksum甚至可能ImageSearch使用ImageCapture
我会说最好的方法来检查所述区域是否正在使用PixelChecksum,如下所示.
PixelChecksum 代码示例1Local $GetAreaChecksumOne = PixelChecksum(86, 109, 280, 109)
Sleep(60000)
Local $GetAreaChecksumTwo = PixelChecksum(86, 109, 280, 109)
While $GetAreaChecksumOne <> $GetAreaChecksumTwo
$GetAreaChecksumTwo = PixelChecksum(86, 109, 280, 109)
Sleep(1000)
ConsoleWrite("Match not found")
WEnd
Run Code Online (Sandbox Code Playgroud)
或者更正常的做法是:
PixelChecksum 代码示例2Local $GetAreaChecksumOne = PixelChecksum(86, 109, 280, 109)
While $GetAreaChecksumOne = PixelChecksum(86, 109, 280, 109)
Sleep(100)
WEnd
Run Code Online (Sandbox Code Playgroud)
参考链接: PixelChecksum
要发送Skype消息,您需要Skype UDF将消息发送到Skype中的收藏聊天.
Skype 代码示例#include <Skype.au3>
Local $sTopic = "Bookmarked (favourited) chat name here"
Local $aBookMarkedChat = _Skype_ChatGetBookmarked(), $oChattmp = 0
For $i = 0 To UBound($aBookMarkedChat) -1
$oChattmp = $aBookMarkedChat[$i]
If _Skype_ChatGetTopic($oChattmp) = $sTopic Then
_Skype_ChatSendMessage($oChattmp, "Message here")
EndIf
Next
Run Code Online (Sandbox Code Playgroud)
如果你想沿着图像捕捉和图像搜索路线走,那么使用类似于下面的东西,但是你需要再次使用 ImageSearch UDF
ScreenCapture和ImageSearch代码示例#include <ImageSearch.au3>
#include <ScreenCapture.au3>
Local $XCoords = 0
Local $YCoords = 0
_ScreenCapture_Capture(@DesktopDir & "Compare.png", 86, 109, 280, 109)
Sleep(60000)
$Compare = _ImageSearch(@DesktopDir & "Compare.png", 1, $XCoords, $YCoords, 5)
While $Compare = 0
$Compare = _ImageSearch(@DesktopDir & "Compare.png", 1, $XCoords, $YCoords, 5)
Sleep(1000)
WEnd
FileDelete(@DesktopDir & "Compare.png")
Run Code Online (Sandbox Code Playgroud)
如果你想制作更多的ImageSearch,那么使用ImageSearchArea(更快,你需要它更好)