rcmaehl

WindowEx - Additional Window Statistics - Release: V0.4 - 10/04/2016

3 posts in this topic

#1 ·  Posted (edited)

A UDF with Extended Functions for Window Management

DISCLAIMER:
This UDF is still in Alpha phase. All code works and should be generally bug free, however function names and parameters are subject to change.

 

Notes:
Fixes _WindowGetClassList's barbaric returning of a @LF separated string instead of an array.

 

Potential Uses:
Automating applications that change their controls' handles/classes on each launch (e.g. half of Cisco's programs)
 

Functions:
_WinGetClassList
_WinGetClassNNList
_WindowGetHandleList
_WindowGetHandleListFromPos

 

Download: 
WindowEx.zip  (v0.4)

 

Changelog:

10/04/2016 (v0.4):

  _WinGetClassNNList           Fixed  : Not Returning an Index when using $2D_ARRAY
  _WinGetClassNNList           Fixed  : Not Properly returning $aArray[x][1] on Classes with instances > 9 when using $2D_ARRAY

10/03/2016 (v0.3):

  _WinGetClassList             Added  : Exactly the same as WinGetClassList but returns a more civilized Array
  _WinGetClassNNList           Added  : Returns Classes and their instances in either a 1D or 2D array depending on Flags
  _WindowGetHandleList         Renamed: _WinGetHandleList SCRIPT BREAKING!
  _WindowGetHandleListFromPos  Renamed: _WinGetHandleListFromPos SCRIPT BREAKING!

10/01/2016 (v0.2):

  WindowsExConstants.au3       Added  : Flags in _WindowGetHandleListFromPos
  _WindowGetHandleListFromPos  Removed: ConsoleWrite left in during debug
  _WindowGetHandleListFromPos  Added  : Flag for if part of a Control is at $X, $Y return it as well.

10/01/2016 (v0.1):

  _WindowGetHandleList         Added  : Retrieves the handles of classes from a window.
  _WindowGetHandleListFromPos  Added  : Retrieves the handles of classes at a specific position from a window.

Known and Reported Bugs:

None reported

To Do:

To Be Decided. Opinions welcome!

Upcoming Changes:

To Be Decided.
Edited by rcmaehl
Upload New Version

My UDFs are generally for me. If they aren't updated for a while, it means I'm not using them myself. As soon as I start using them again, they'll get updated.

MY PROJECTS


Active: IRC UDF, WindowEx UDF
Discontinued: GithubBubbleSort UDF

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

Updated with version v0.3

  • Addition of _WinGetClassList which is basically WinGetClassList but easier to parse
  • Addition of _WinGetClassNNList which returns the Class plus each instance in a 1D or 2D array based on flags
  • Updated the 2 existing functions to follow UDF-spec. Rename the Window Prefix to Win to resolve any broken scripts
Edited by rcmaehl

My UDFs are generally for me. If they aren't updated for a while, it means I'm not using them myself. As soon as I start using them again, they'll get updated.

MY PROJECTS


Active: IRC UDF, WindowEx UDF
Discontinued: GithubBubbleSort UDF

Share this post


Link to post
Share on other sites

Updated with Version v0.4

  • Fixed _WinGetClassNNList not returning an index when using $2D_ARRAY
  • Fixed _WinGetClassNNList not properly returning $aArray[x][1] on Classes with instances > 9 when using $2D_ARRAY

My UDFs are generally for me. If they aren't updated for a while, it means I'm not using them myself. As soon as I start using them again, they'll get updated.

MY PROJECTS


Active: IRC UDF, WindowEx UDF
Discontinued: GithubBubbleSort UDF

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Similar Content

    • LinkOut
      By LinkOut
      Hi! I wrote an UDF that can simplify the way you can control Telegram Bot with AutoIt. If you don't know what is a Telegram Bot, maybe you should read their official website here. All about this UDF is on my GitHub: what is, how it work, how to use and also a Test.au3 to see the script in action. But... let's talk about this UDF.
      What is: It's an UDF that contain functions to control a Telegram Bot. Send messages, photo, video, stickers, wait for incoming messages and answer to them. How it works: Insert you Token given from BotFather, initialize your bot with _InitBot() function and... you're ready! All functions are commented: You will find a description of what it does, an explanation for every argument that function has need and what it return. This is the test script, that initialize your bot, run all functions and write the return value.
      #include "Telegram UDF.au3" $ChatID = "Your_Chat_ID_For_Test" _InitBot("Bot_ID","Bot_Token") ConsoleWrite("Test _GetUpdates -> " & @TAB & _GetUpdates() & @CRLF) ConsoleWrite("Test _GetMe -> " & @TAB & _GetMe() & @CRLF) ConsoleWrite("Test _SendMsg -> " & @TAB & _SendMsg($ChatID,"Test _SendMsg") & @CRLF) ConsoleWrite("Test _ForwardMsg -> " & @TAB & _ForwardMsg($ChatID,$ChatID,'MsgID') & @CRLF) ConsoleWrite("Test _SendPhoto -> " & @TAB & _SendPhoto($ChatID,"C:\image.jpg","Test _SendPhoto") & @CRLF) ConsoleWrite("Test _SendVideo -> " & @TAB & _SendVideo($ChatID,"C:\video.mp4","Test _SendVideo") & @CRLF) ConsoleWrite("Test _SendAudio -> " & @TAB & _SendAudio($ChatID,"C:\audio.mp3","Test _SendAudio") & @CRLF) ConsoleWrite("Test _SendDocument -> " & @TAB & _SendDocument($ChatID,"C:\document.txt","Test _SendDocument") & @CRLF) ConsoleWrite("Test _SendVoice -> " & @TAB & _SendVoice($ChatID,"C:\voice.ogg","Test _SendVoice") & @CRLF) ConsoleWrite("Test _SendSticker -> " & @TAB & _SendSticker($ChatID,"C:\sticker.webp") & @CRLF) ConsoleWrite("Test _SendLocation -> " & @TAB & _SendLocation($ChatID,"74.808889","-42.275391") & @CRLF) ConsoleWrite("Test _SendContact -> " & @TAB & _SendContact($ChatID,"0123456789","Josh") & @CRLF) ConsoleWrite("Test _SendChatAction -> " & @TAB & _SendChatAction($ChatID,"typing") & @CRLF) ConsoleWrite("Test _GetUserProfilePhotos -> " & @TAB & _GetUserProfilePhotos($ChatID) & @CRLF) ConsoleWrite("Test _GetChat -> " & @TAB & _GetChat($ChatID) & @CRLF) While 1 $msgData = _Polling() _SendMsg($msgData[2],$msgData[3]) WEnd Last part of the script (While cycle) use Polling function to put the script in a wait-state for incoming messages: _Polling() function return an array ($msgData in this case) that contain information about the received message (for example, $msgData[2] is the Chat ID of the user that send the message, important to send a reply. See GitHub page for other info.
      So, finally, here you can find and download the library -> https://github.com/xLinkOut/telegram-udf-autoit <-
      UPDATE: Thanks to @mLipok to added my Telegram UDF on AutoItScript Wiki!  
      UPDATE 2: Functions that send files to Telegram Servers (photos, videos..) don't need anymore cURL executable file. Thanks to @Jos that suggested how to use WinHttp UDF by trancexx.
      If you have question, bug report or anything else just contact me or reply to this Thread Don't forget to follow me on GitHub for future updates. Bye!
    • WoodGrain
      By WoodGrain
      Hi guys,
      This post was originally going to be a question on how to fix this issue but as I ended up figuring it out I thought I'd post it here for others that have the same issue.
      So you've downloaded and extracted the latest version of the SQLite dll files etc into the same directory as your SQLite script but it's failing at _SQLite_Startup()?
      What you need to do, that I couldn't see anywhere in the documentation, to fix the issue is rename the dll files from (for example) "sqlite3_301500000.dll" to "sqlite3.dll" and "sqlite3_x64_301500000.dll" to "sqlite3_x64.dll".
      Fixed my issues instantly!
      Hope it can help others too.
      Cheers.
    • jparnell8839
      By jparnell8839
      I'm hoping this is feasible... I made a program that resides in the system tray. One of the tray items runs a function that waits for the user to click on a window to get the window title.
      I would like for the mouse cursor to change to the cross while waiting for user input. I have tried using GUISetCursor(3), but from my understanding this only changes the cursor for an AutoIt GUI window.
      How could I go about changing the mouse cursor for the user's environment, not just for the AutoIt window?
    • GMK
      By GMK
      Attached is a UDF for automating Monarch. This was created for my use at work, but I thought I'd share, in case anyone else can use it.
      Update: Localized variables and commented out unused variables to be used later.
      Update (November 17, 2016): Uploaded newest version, after revisiting and revising error checking. Script-breaking change: Functions start with _Monarch_ now.
       
      Monarch.au3
    • GMK
      By GMK
      I decided to enhance the functionality of the OOo COM UDF found >here and >here.  Thanks to Leagnus and Andy G for providing the initial functions and framework.
      This UDF includes the following working functions:
      _OOoCalc_BookNew
      _OOoCalc_BookOpen
      _OOoCalc_BookAttach
      _OOoCalc_BookSave
      _OOoCalc_BookSaveAs
      _OOoCalc_BookClose
      _OOoCalc_WriteCell
      _OOoCalc_WriteFormula
      _OOoCalc_WriteFromArray
      _OOoCalc_HyperlinkInsert
      _OOoCalc_RangeMoveOrCopy
      _OOoCalc_RangeSort
      _OOoCalc_RangeClearContents
      _OOoCalc_CreateBorders
      _OOoCalc_NumberFormat
      _OOoCalc_ReadCell
      _OOoCalc_ReadSheetToArray
      _OOoCalc_RowDelete
      _OOoCalc_ColumnDelete
      _OOoCalc_RowInsert
      _OOoCalc_ColumnInsert
      _OOoCalc_SheetAddNew
      _OOoCalc_SheetDelete
      _OOoCalc_SheetNameGet
      _OOoCalc_SheetNameSet
      _OOoCalc_SheetList
      _OOoCalc_SheetActivate
      _OOoCalc_SheetSetVisibility
      _OOoCalc_SheetMove
      _OOoCalc_SheetPrint
      _OOoCalc_HorizontalAlignSet
      _OOoCalc_FontSetProperties
      _OOoCalc_CellSetColors
      _OOoCalc_RowSetColors
      _OOoCalc_ColumnSetColors
      _OOoCalc_RowSetProperties
      _OOoCalc_ColumnSetProperties
      _OOoCalc_FindInRange
      _OOoCalc_ReplaceInRange
      Please help me test this and let me know of any problems, questions, suggestions or comments you may have.
      Edit (August 5, 2016): Latest files have been uploaded.  Script-breaking changes include renaming the functions to start with _OOoCalc_.
      Edit (November 14, 2016): New version, including fixed sort function!
      Edit (November 15, 2016): Lots of minor changes including tightening up the error checking.
      Edit (November 16, 2016): Added ByRef to object parameters. Edited demo.
       
       
       
       
      OOoCalcConstants.au3
       
      OOoCalc.au3
      OOoCalc_Demo.au3