J'écris un script automation avec autoit: http://www.autoitscript.com/autoit3/index.shtml. Dans le processus, je dois prendre une capture d'écran d'une zone sélectionnée par l'utilisateur. Comment puis-je reconnaître l'opération de sélection par glisser-déplacer avec Autoit 3 de la souris? J'ai besoin essentiellement d'une certaine façon pour obtenir les coordonnées du rectangle sélectionné ...Comment reconnaître un drag-select avec autoit
0
A
Répondre
4
Rasim des forums AutoIt a eu la gentillesse de répondre à cette question de la mienne avec un exemple de travail: http://www.autoitscript.com/forum/index.php?showtopic=86894&st=0&gopid=623824&#entry623824
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <ScreenCapture.au3>
Global Const $WM_LBUTTONDOWN = 0x0201
Global $hDLL = DllOpen("User32.dll")
Global $Drag = False
Global $aCoord_Start
Global $aCoord_End
Global $iLeft, $iTop, $iRight, $iBottom
Global $sCapture = False
HotKeySet("{Esc}", "_Exit")
Global $pStub_MouseProc = DllCallbackRegister ("_Mouse_Handler", "int", "int;ptr;ptr")
Global $hHookMouse = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, DllCallbackGetPtr($pStub_MouseProc), _WinAPI_GetModuleHandle(0), 0)
While 1
If $sCapture Then
$sCapture = False
_ScreenCapture_Capture(@ScriptDir & "\Capture.jpg", $iLeft, $iTop, $iRight, $iBottom)
EndIf
Sleep(100)
WEnd
Func _Mouse_Handler($nCode, $wParam, $lParam)
If $nCode < 0 Then Return _WinAPI_CallNextHookEx($hHookMouse, $nCode, $wParam, $lParam)
Switch $wParam
Case $WM_LBUTTONDOWN
$aCoord_Start = MouseGetPos()
Case $WM_MOUSEMOVE
If _IsPressed("01", $hDLL) Then $Drag = True
Case $WM_LBUTTONUP
$aCoord_End = MouseGetPos()
If $Drag = True Then
$Drag = False
If $aCoord_Start[0] < $aCoord_End[0] Then
$iLeft = $aCoord_Start[0]
$iRight = $aCoord_End[0]
Else
$iLeft = $aCoord_End[0]
$iRight = $aCoord_Start[0]
EndIf
If $aCoord_Start[1] < $aCoord_End[1] Then
$iTop = $aCoord_Start[1]
$iBottom = $aCoord_End[1]
Else
$iTop = $aCoord_End[1]
$iBottom = $aCoord_Start[1]
EndIf
$sCapture = True
Return 0
EndIf
EndSwitch
Return _WinAPI_CallNextHookEx($hHookMouse, $nCode, $wParam, $lParam)
EndFunc
Func _Exit()
DllCallbackFree($pStub_MouseProc)
_WinAPI_UnhookWindowsHookEx($hHookMouse)
DllClose($hDLL)
Exit
EndFunc
Questions connexes
- 1. Comment reconnaître si un script s'exécute sur un tty?
- 2. AutoIt like GUI outil d'automatisation pour Java
- 3. Comment reconnaître deux mots différents dans un regex sans regroupement
- 4. Reconnaître l'espace manquant
- 5. Comment reconnaître les classes enregistrées dans un package Delphi
- 6. Comment saisir une entrée au clavier dans AutoIt?
- 7. Envoyer des messages à un jeu Flash avec C# et AutoIt
- 8. Comment reconnaître un chemin à l'intérieur d'une chaîne
- 9. KeyDown: reconnaître plusieurs clés
- 10. Comment reconnaître la méthode JavaScript (fonction)
- 11. Comment reconnaître l'image dans l'iphone sdk?
- 12. Comment Zenoss peut-il reconnaître les changements cutanés?
- 13. Meilleure façon de reconnaître un type de fichier dans php
- 14. Est-il possible de reconnaître l'intrusion?
- 15. Comment tromper git-svn pour reconnaître les fusions faites avec svn?
- 16. Comment reconnaître séparément les données envoyées sur php?
- 17. OCR pour reconnaître l'écriture manuscrite dans .NET
- 18. ne marche pas YSlow reconnaître mon gzip
- 19. FluentNHibernate et ne pas reconnaître la session
- 20. Reconnaître des motifs lorsque je dessine sur l'écran de l'iPhone
- 21. Une application peut-elle reconnaître si elle s'exécute dans un cloud ou sur un serveur normal?
- 22. Algorithme pour reconnaître les mouvements de la souris
- 23. reconnaître l'effet de texte sur une image pour photoshop
- 24. Obtenir Ant <javac> pour reconnaître un chemin de classe
- 25. rend à reconnaître les chemins de routage personnalisés
- 26. Ruby/webrick, j'ai besoin de Windows pour reconnaître tralala notation
- 27. reconnaître HTTP_USER_AGENT si son navigateur ou Facebook bot?
- 28. Instruction MySQL SELECT utilisant Regex pour reconnaître les données existantes
- 29. Comment reconnaître le code généré par le concepteur graphique de Visual Studio?
- 30. Comment reconnaître qu'un article ou une démo sur asp.net-mvc est obsolète?
Je ne pense Autoit a cette fonctionnalité. Vous pourrez peut-être trouver un autre programme pour le faire, et l'interfacer avec Autoit. –