Leaderboard
Popular Content
Showing content with the highest reputation on 04/06/2014 in all areas
-
Control Viewer - AutoIt Window Info Tool
mythicalzxc reacted to Yashied for a topic
LAST VERSION - 1.1 18-May-12 Control Viewer (CV) is a replacement of AutoIt Window Info with a number of advantages. I tried to stick to the interface of the last, so you almost do not have to be retrained. During testing, I never managed to find any controls that could not be identified by CV (on the contrary, shows a lot of hidden controls, especially for the system windows). The all program settings are stored in the following registry key: HKEY_CURRENT_USERSoftwareY'sControl Viewer The main differences CV from AWI Shows the complete list of all existing controls for the window that are interested (visible, hidden and deleted controls are displayed with different colors that can be changed to any other).Dynamically changing information during search for the windows and their controls.Ability to quickly switch between controls in the list.Ability to show/hide any controls from the list (useful for the overlaping controls).Information for the Style and ExStyle parameters shown in the form of hexadecimal values, and as its flags.Added the PID and Path parameters in the Window tab and ability to quickly open a folder that containing the process file.Added the coordinate system relative to the selected control.Shows a color of the selected pixel in RGB and BGR formats.Shows an example fill of the selected color.Ability to select the text encoding (affects the Text parameter in the Control tab).The complete change the appearance of pop-up frame for the selected controls.Simple and convenient tool to get a screenshot of the part screen of interest for publication on the forum (Capture tab).Create a report in the clipboard or a text file for subsequent publication on the forum.Search all running AutoIt scripts and their windows in the system (AutoIt tab).User-friendly interface. Used shortcuts Ctrl+Alt+T - Enable/Disable "Always On Top" mode (also available from the menu). Ctrl+Alt+H - Enable/Disable highlight selected controls (also available from the menu). Ctrl+A - Select all text (works in any input field). Ctrl - Hold down when moving the mouse to scroll the screenshot (Capture tab). Shift - Hold down when stretching/compression of the contour frame for an equilateral resizing screenshots (Capture tab). DoubleClick (on the screenshot) - Save the image to a file (Capture tab). DoubleClick (on any list item) - Open a folder with the file of the process or AutoIt script (AutoIt tab). Del (on any list item) - Close process (AutoIt tab). F5 - Updating the list (AutoIt tab). If anyone have any questions or comments about CV, please post it in this thread. I will be glad to any feedback and suggestions. Files to download Binary (x86 and x64) Redirection to CV_bin.zip, 1.14 MB CV_bin.html Source Redirection to CV_source.zip, 691 KB CV_source.html1 point -
TypeScript
mesale0077 reacted to guinness for a topic
Source: https://en.wikipedia.org/wiki/TypeScript Site: http://www.typescriptlang.org/1 point -
New SciTE4AutoIt3 available with SciTE v3.4.1
jaberwacky reacted to Jos for a topic
4/05/2014: Uploaded a new SciTE4AutoIt3.exe installer with the new SciTE v3.4.1 release. These are the major changes: - Ended all support for Obfuscator and removed from the installation! - Added Au3Stripper which replaces Obfuscators /StripOnly Function. - The installer will set SCITE_USERHOME to %LOCALAPPDATA%AutoIt v3SciTE. Each Utility will have its own subdirectory. - In case SCITE_USERHOME is not supplied will SciTE default to the SciTE program directory for SciteUserHome to make SciTE portable. - Changed SciTE/AutoIt3Wrapper/SciTEConfig to use SCITE_USERHOME as the home or all config files. - Updated the ZIP file to allow it to run portable "as-is" after unzipping Enjoy, Jos Addition/Changes/Fixes in the current installer: -------------------------------------------------------------------------------------------------- 4/5/2014 *** Headlines: Ended all support for Obfuscator and removed from the installation! Added Au3Stripper which replaces Obfuscators /StripOnly Function. Changed SciTE & AutoIt3Wrapper & SciTEConfig to use SCITE_USERHOME as the home or all config files. The installer will set SCITE_USERHOME to %LOCALAPPDATA%\AutoIt v3\SciTE. Each Utility will have its own subdirectory in this directory. In case SCITE_USERHOME is not supplied will SciTE default to the SciTE program directory for SciteUserHome to make SciTE portable. Updated the ZIP file to allow it to run portable as is after unzipping. *** Merged the SciTE v 3.4.1 by Neil Hodgson with our own version of SciTE. (Jos) - Added support for environment variable SCITE_USERHOME. *** Updated AutoIt3Wrapper 2.2.0.0 (Jos) - Added support for AU3Stripper directives: #AutoIt3Wrapper_Run_Au3Stripper #Au3Stripper_*= - Added support for SCITE_USERHOME. - Removed support for Obfuscator - Fixed issue Resourceupdates giving error: LastError:1359: *** Updated SciTEConfig v1.6.11.7 - Updated tab for Genereal settings into 2 Tabs and added extra options. (Melba23) - Updates for Abbrev manager and User Calltip Manager. (Melba23) - Added support for SCITE_USERHOME. (Melba23) *** Updated Tidy v2.4.0.1 (Jos) - Added support for SCITE_USERHOME. *** Updated Au3Stripper v1.2.0.0 (Jos) - Added support for SCITE_USERHOME. - Added support for the following #Directives: #Au3Stripper_Ignore_Funcs= #Au3Stripper_Ignore_Variables= #Au3Stripper_Off= #Au3Stripper_On= #Au3Stripper_Parameters= - No parameter specified on this directive means /StripOnly or /SO will be performed. - /StripOnly Or /SO -> Sets the options to:/SF=1 /SV=1 which is now also the default when no parameters are specified. - /StripUnusedFunc Or /SF -> Remove unused Funcs (Default when no options are specified) - /StripUnusedVars Or /SV -> Remove unused Global variable declarations (Default when no options are specified) - /MergeOnly Or /MO -> Will produce a scriptfile as AUT2EXE includes in the Compiled EXE.This allows you to find the proper linenumber when errors are reported. - /RenameMinimum Or /RM -> Generates a much smaller file by substituting function and variable names with unique 2+-character names - /PreExpand pr /PE -> This will preexpand Global Const variables. Thanks guinness for the idea. - /MaxIterations= Or /MI= -> Sets the maximum Iterations Au3Stripper will perform. Default is 5. Au3Stripper will continue until it hasn't stripped any lines or done this number of Iterations. *** Updated SciTEJump to the latest version v2.17.103.242 (guinness) - Added support for SCITE_USERHOME. -------------------------------------------------------------------------------------------------- ==> ScitillaHistory page containing all SciTE/Scintilla updates. ==> Visit the SciTE4AutoIt3 Download page for the latest versions ==> Check the online documentation for an overview of all extra's you get with this installer.1 point -
TypeScript
mesale0077 reacted to James for a topic
For anyone who's used Coffeescript, this is similar.1 point -
The link to the image is broken but you mean something like this here? #include <GDIPlus.au3> #include <GUIConstantsEx.au3> Example() Func Example() _GDIPlus_Startup() ;initialize GDI+ Local Const $iWidth = 600, $iHeight = 300, $iBgColor = 0x303030 ;$iBgColor format RRGGBB Local $hGUI = GUICreate("GDI+ example", $iWidth, $iHeight) ;create a test GUI GUISetBkColor($iBgColor, $hGUI) ;set GUI background color GUISetState(@SW_SHOW) Local $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI) ;create a graphics object from a window handle _GDIPlus_GraphicsClear($hGraphics, 0xFF303030) _GDIPlus_GraphicsSetSmoothingMode($hGraphics, $GDIP_SMOOTHINGMODE_HIGHQUALITY) ;sets the graphics object rendering quality (antialiasing) Local $iX1 = 20, $iX2 = 580, $iY1 = 200, $iY2 = 200 Local $hBrush = _GDIPlus_LineBrushCreate($iX1, $iY1, $iX2, $iY2, 0, 0, 1) ;create line brush Local $aInterpolations[5][2] ;define the interpolated colors and positions $aInterpolations[0][0] = 4 $aInterpolations[1][0] = 0x7FFF0000 ;Red $aInterpolations[1][1] = 0 ;0% from the left $aInterpolations[2][0] = 0xFF00FF00 ;Green $aInterpolations[2][1] = 0.40 ;To 40% from the left $aInterpolations[3][0] = 0xFF0000FF ;Blue $aInterpolations[3][1] = 0.60 ;To 60% from the left $aInterpolations[4][0] = 0x7FFFFF00 ;Yellow $aInterpolations[4][1] = 1 ;To 100% from the left _GDIPlus_LineBrushSetPresetBlend($hBrush, $aInterpolations) ;set the linear gradient brush colors and position Local $hPen = _GDIPlus_PenCreate2($hBrush, 8) _GDIPlus_GraphicsDrawLine($hGraphics, $iX1, $iY1, $iX2, $iY2, $hPen) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE ;cleanup GDI+ resources _GDIPlus_PenDispose($hPen) _GDIPlus_BrushDispose($hBrush) _GDIPlus_GraphicsDispose($hGraphics) _GDIPlus_Shutdown() GUIDelete($hGUI) EndFunc ;==>Example Br, UEZ1 point
-
Very newbie help
JLogan3o13 reacted to Jos for a topic
Depends how you look at this. Nobody really said anything wrong other than repeat what you stated out of frustration. When it comes to the responses in this forum I think you got good feedback in a short time. Did I already point you to the Helpfile GUI functions in my second reply?... and you choose to do the lengthy "lets watch youtube" route. Next time just ask instead of getting frustrated and demonstrate you are willing to learn and put some effort in... you will see you get a long way in a short time. Cheers Jos1 point -
1 point
-
IUIAutomation MS framework automate chrome, FF, IE, ....
Kolokolcev reacted to LarsJ for a topic
I got it to work last night, but it was late. Here it is. To run this example you need CUIAutomation2.au3 (the smallest) in post #1 and SafeArray.au3 in post #135. You must change the description string for CreatePropertyCondition method of the IUIAutomation object in CUIAutomation2.au3. You still need the old description, so create a copy. If you are running a 32 bit script, you must change the CreatePropertyCondition description in this way: "CreatePropertyCondition hresult(int;uint64;uint64;ptr*);" If you are running a 64 bit script, you must change the CreatePropertyCondition description in this way: "CreatePropertyCondition hresult(int;ptr;ptr*);" You need this description for an advanced data type like a structure (created with DllStructCreate). For simple data types like numbers and strings, you still use the old description with a variant. The reason for two new defitions are caused by differences in parameter transfer on 32 and 64 bit systems. Kolokolcev, Your redefinition of IntNativeArrayToSafeArray is wrong, and tells me that you are running a 32 bit script, since this definition will not work for a 64 bit script. To run the example you must fill out $aRuntimeIdPropertyId[] in top of the script with the Spy tool: #include "CUIAutomation2.au3" #include "SafeArray.au3" Opt( "MustDeclareVars", 1 ) Global $oUIAutomation ; Insert RuntimeIdPropertyId values from Spy tool in array (probably 2 - 7 rows) Global $aRuntimeIdPropertyId[] = [ 42, 328472, 1, -2147483647, 328472, -2, 0 ] ; Windows Explorer title bar ;Global $aRuntimeIdPropertyId[] = [ 42, 787258, 1, -2147483647, 787258, -2, 0 ] ; Calculator title bar MainFunc( $aRuntimeIdPropertyId ) Func MainFunc( $aRnTmIdPrpId ) Local Const $tagSAFEARRAY = "ushort cDims; ushort fFeatures; ulong cbElements; ulong cLocks; ptr pvData; ulong cElements; long lLbound" Local Const $tagVARIANT = "word vt;word r1;word r2;word r3;ptr data; ptr;" Local Const $VT_I4 = 3 Local Const $VT_ARRAY = 0x2000 ; RuntimeIdPropertyId array If Not IsArray( $aRnTmIdPrpId ) Then Return Local $iRnTmIdPrpId = UBound( $aRnTmIdPrpId ) ; Window handle Local $hWindow = WinGetHandle( "[REGEXPCLASS:^(Cabinet|Explore)WClass$]" ) ; Windows Explorer: XP, Vista, 7, 8 ;Local $hWindow = WinGetHandle( "Calculator" ) ; Calculator If Not $hWindow Then Return ; Create UI Automation object $oUIAutomation = ObjCreateInterface( $sCLSID_CUIAutomation, $sIID_IUIAutomation, $dtagIUIAutomation ) If Not IsObj( $oUIAutomation ) Then Return ; Get UI Automation element from window handle Local $pWindow, $oWindow $oUIAutomation.ElementFromHandle( $hWindow, $pWindow ) $oWindow = ObjCreateInterface( $pWindow, $sIID_IUIAutomationElement, $dtagIUIAutomationElement ) If Not IsObj( $oWindow ) Then Return ; --- Create integer safearray --- ConsoleWrite( @CRLF & "Safearray" & @CRLF ) Local $tInt = DllStructCreate( "int[" & $iRnTmIdPrpId & "]" ) For $i = 0 To $iRnTmIdPrpId - 1 DllStructSetData( $tInt, 1, $aRnTmIdPrpId[$i], $i+1 ) Next Local $pSafeArray $oUIAutomation.IntNativeArrayToSafeArray( DllStructGetPtr( $tInt ), $iRnTmIdPrpId, $pSafeArray ) If Not $pSafeArray Then Return ConsoleWrite( "Safearray: ERR" & @CRLF & @CRLF ) ConsoleWrite( "Safearray: OK" & @CRLF ) Local $iUBound SafeArrayGetUBound( $pSafeArray, $iUBound ) ConsoleWrite( "Safearrays are zero based" & @CRLF ) ConsoleWrite( "Safearray upper bound = " & $iUBound & @CRLF ) Local $fFeatures = DllStructGetData( DllStructCreate( $tagSAFEARRAY, $pSafeArray ), "fFeatures" ) ConsoleWrite( "Safearray: $fFeatures = 0x" & Hex( $fFeatures, 4 ) & @CRLF ) ConsoleWrite( "(0x2080 (array of variants) is OK)" & @CRLF ) Local $vValue ConsoleWrite( "Safearray values:" & @CRLF ) For $i = 0 To $iUBound SafeArrayGetElement( $pSafeArray, $i, $vValue ) ConsoleWrite( "$vValue " & $i & " = " & $vValue & @CRLF ) Next ; --- Create variant containing a safearray --- ConsoleWrite( @CRLF & "Variant" & @CRLF ) Local $tVARIANT = DllStructCreate( $tagVARIANT ) ConsoleWrite( "Variant size = " & DllStructGetSize( $tVARIANT ) & " bytes" & @CRLF ) DllStructSetData( $tVARIANT, "vt", BitOR( $VT_ARRAY, $VT_I4 ) ) Local $vt = DllStructGetData( $tVARIANT, "vt" ) ConsoleWrite( "Variant: $vt = 0x" & Hex( $vt, 4 ) & @CRLF ) ConsoleWrite( "(0x2003 (array of integer variants) is OK)" & @CRLF ) DllStructSetData( $tVARIANT, "data", $pSafeArray ) ; --- Create $UIA_RuntimeIdPropertyId property condition --- Local $pCondition ConsoleWrite( @CRLF & "$UIA_RuntimeIdPropertyId property condition" & @CRLF ) If @AutoItX64 Then $oUIAutomation.CreatePropertyCondition( $UIA_RuntimeIdPropertyId, DllStructGetPtr( $tVARIANT ), $pCondition ) Else Local $tVar = DllStructCreate( "uint64[2];", DllStructGetPtr( $tVARIANT ) ) $oUIAutomation.CreatePropertyCondition( $UIA_RuntimeIdPropertyId, DllStructGetData( $tVar, 1, 1 ), DllStructGetData( $tVar, 1, 2 ), $pCondition ) EndIf If Not $pCondition Then Return ConsoleWrite( "$UIA_RuntimeIdPropertyId property condition: ERR" & @CRLF & @CRLF ) ConsoleWrite( "$UIA_RuntimeIdPropertyId property condition: OK" & @CRLF ) ; --- Find element based on $UIA_RuntimeIdPropertyId property condition --- ; Find element ConsoleWrite( @CRLF & "Find element" & @CRLF ) Local $pElem, $oElem, $sName $oWindow.FindFirst( $TreeScope_Descendants, $pCondition, $pElem ) $oElem = ObjCreateInterface( $pElem, $sIID_IUIAutomationElement, $dtagIUIAutomationElement ) If Not IsObj( $oElem ) Then Return ConsoleWrite( "Cannot find element" & @CRLF & @CRLF ) ConsoleWrite( "Element found" & @CRLF ) ; Element name Local $sNameProperty, $sLegacyMSAAValue $oElem.GetCurrentPropertyValue( $UIA_NamePropertyId, $sNameProperty ) ConsoleWrite( "NamePropertyId: " & $sNameProperty & @CRLF ) $oElem.GetCurrentPropertyValue( $UIA_LegacyIAccessibleValuePropertyId, $sLegacyMSAAValue ) ConsoleWrite( "LegacyMSAAValue: " & $sLegacyMSAAValue & @CRLF & @CRLF ) EndFunc The script tries to find the element based on a $UIA_RuntimeIdPropertyId property condition and prints the name of the element. I have tested with the title bars for Windows Explorer and Calculator. This is the output in Scite console form the Calculator title bar: Safearray Safearray: OK Safearrays are zero based Safearray upper bound = 6 Safearray: $fFeatures = 0x2080 (0x2080 (array of variants) is OK) Safearray values: $vValue 0 = 42 $vValue 1 = 787258 $vValue 2 = 1 $vValue 3 = -2147483647 $vValue 4 = 787258 $vValue 5 = -2 $vValue 6 = 0 Variant Variant size = 24 bytes Variant: $vt = 0x2003 (0x2003 (array of integer variants) is OK) $UIA_RuntimeIdPropertyId property condition $UIA_RuntimeIdPropertyId property condition: OK Find element NamePropertyId: LegacyMSAAValue: Calculator1 point