Jump to content

_AppMonEx() - Monitor all open instances of your application(s). This includes PID, hWnd and start time of the application.


guinness
 Share

Recommended Posts

This UDF was created because I found a simple approach to the currently available >_AppMon UDF.

So please check out the example below and carefully read the headers on how to use the UDF.

UDF:

#include-once

; #AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w 7
; #INDEX# =======================================================================================================================
; Title .........: _AppMon
; AutoIt Version : v3.3.10.0 or higher
; Language ......: English
; Description ...: Monitor all open instances of your application(s). This includes PID, hWnd and start time of the application.
; Note ..........:
; Author(s) .....: guinness
; ===============================================================================================================================

; #INCLUDES# ====================================================================================================================
#include <StringConstants.au3>

; #GLOBAL VARIABLES# ============================================================================================================
Global Const $APPMON_GUID = 'F9A296EE-F58F-11E3-B354-006D0707A45E'
Global Enum $APPMON_AUTOIT_TITLE, $APPMON_ID, $APPMON_TITLE, $APPMON_MAX

; #CURRENT# =====================================================================================================================
; _AppMon_GetArray: Return an array of currently open applications, excluding the application calling this function.
; _AppMon_GetArrayAll: Return an array of currently open applications, including the application calling this function.
; _AppMon_Shutdown: Remove the current application from the AppMon list. This is to be called when the application exits.
; _AppMon_Start: Add the current application to the AppMon list.
; ===============================================================================================================================

; #INTERNAL_USE_ONLY#============================================================================================================
; See below
; ===============================================================================================================================

; #FUNCTION# ====================================================================================================================
; Name ..........: _AppMon_GetArray
; Description ...: Return an array of currently open applications, excluding the application calling this function.
; Syntax ........: _AppMon_GetArray(ByRef $aAppMon[, $fTimeString = Default])
; Parameters ....: $aAppMon             - [in/out] Handle created by _AppMon_Start().
;                  $fTimeString         - [optional] Convert the program start time to YYYY/MM/DD HH:MM:SS. Default is False (YYYYMMDDHHMMSS).
; Return values .: Success - An array containing a details about the running applications.
;                  Failure - Null & sets @error to non-zero.
; Author ........: guinness
; Remarks........: The array returned is two-dimensional and is made up as follows:
;                                $aArray[0][0] = PID
;                                $aArray[0][1] = hWnd of GUI (if previously set in _AppMon_Start().)
;                                $aArray[0][2] = Application start time string.
;                                ...
;                                $aArray[n][0] = PID
;                                $aArray[n][1] = hWnd of GUI (if previously set in _AppMon_Start().)
;                                $aArray[n][2] = Application start time string.
;                                Use UBound() to obtain the length of the array.
; Example .......: Yes
; ===============================================================================================================================
Func _AppMon_GetArray(ByRef $aAppMon, $fTimeString = Default)
    Return __AppMon_Array($aAppMon, False, $fTimeString)
EndFunc   ;==>_AppMon_GetArray

; #FUNCTION# ====================================================================================================================
; Name ..........: _AppMon_GetArrayAll
; Description ...: Return an array of currently open applications, including the application calling this function.
; Syntax ........: _AppMon_GetArrayAll(ByRef $aAppMon[, $fTimeString = Default])
; Parameters ....: $aAppMon             - [in/out] Handle created by _AppMon_Start().
;                  $fTimeString         - [optional] Convert the program start time to YYYY/MM/DD HH:MM:SS. Default is False (YYYYMMDDHHMMSS).
; Return values .: Success - An array containing a details about the running applications.
;                  Failure - Null & sets @error to non-zero.
; Author ........: guinness
; Remarks........: The array returned is two-dimensional and is made up as follows:
;                                $aArray[0][0] = PID
;                                $aArray[0][1] = hWnd of GUI (if previously set in _AppMon_Start())
;                                $aArray[0][2] = Application start time string.
;                                ...
;                                $aArray[n][0] = PID
;                                $aArray[n][1] = hWnd of GUI (if previously set in _AppMon_Start())
;                                $aArray[n][2] = Application start time string.
;                                Use UBound() to obtain the length of the array.
; Example .......: Yes
; ===============================================================================================================================
Func _AppMon_GetArrayAll(ByRef $aAppMon, $fTimeString = Default)
    Return __AppMon_Array($aAppMon, True, $fTimeString)
EndFunc   ;==>_AppMon_GetArrayAll

; #FUNCTION# ====================================================================================================================
; Name ..........: _AppMon_Shutdown
; Description ...: Remove the current application from the AppMon list. This is to be called when the application exits.
; Syntax ........: _AppMon_Shutdown(ByRef $aAppMon)
; Parameters ....: $aAppMon                - [in/out and const] Handle created by _AppMon_Start().
; Return values .: Success - True
;                  Failure - False
; Author ........: guinness
; Example .......: Yes
; ===============================================================================================================================
Func _AppMon_Shutdown(ByRef $aAppMon)
    If UBound($aAppMon) = $APPMON_MAX And $aAppMon[$APPMON_ID] = $APPMON_GUID Then
        AutoItWinSetTitle($aAppMon[$APPMON_TITLE] & @AutoItPID)
        Local Const $hAutoItWnd = WinGetHandle($aAppMon[$APPMON_TITLE] & @AutoItPID)
        AutoItWinSetTitle($aAppMon[$APPMON_AUTOIT_TITLE])
        Local Const $hControl = ControlGetHandle($hAutoItWnd, '', 'Edit1')
        ControlSetText($hAutoItWnd, '', $hControl, _
                StringRegExpReplace(ControlGetText($hAutoItWnd, '', $hControl), _
                '(?<=\n)\|APPMON_(?:HWND|PID|TIME):\V+\R', _
                ''))
        For $i = 0 To $APPMON_MAX - 1
            $aAppMon[$i] = Null
        Next
    EndIf
    Return True
EndFunc   ;==>_AppMon_Shutdown

; #FUNCTION# ====================================================================================================================
; Name ..........: _AppMon_Start
; Description ...: Add the current application to the AppMon list.
; Syntax ........: _AppMon_Start([$sOccurenceName = Default[, $hGUI = Default]])
; Parameters ....: $sOccurenceName      - [optional] A string to identify the occurrence of the script with the unique id. Default is $APPMON_GUID.
;                  $hWnd                - [optional] A valid GUI handle. Default is 0x0000000000000000 (no handle).
; Return values .: Handle to be passed to relevant functions.
; Author ........: guinness
; Example .......: Yes
; ===============================================================================================================================
Func _AppMon_Start($sOccurenceName = Default, $hWnd = Default)
    Local $aAppMon[$APPMON_MAX]

    $aAppMon[$APPMON_ID] = $APPMON_GUID
    $aAppMon[$APPMON_TITLE] = $sOccurenceName
    If $aAppMon[$APPMON_TITLE] = Default Then
        $aAppMon[$APPMON_TITLE] = $APPMON_GUID
    Else
        $aAppMon[$APPMON_TITLE] = StringStripWS($aAppMon[$APPMON_TITLE], $STR_STRIPALL)
    EndIf
    $aAppMon[$APPMON_AUTOIT_TITLE] = AutoItWinGetTitle()

    AutoItWinSetTitle($aAppMon[$APPMON_TITLE] & @AutoItPID)
    Local Const $hAutoItWnd = WinGetHandle($aAppMon[$APPMON_TITLE] & @AutoItPID)
    AutoItWinSetTitle($aAppMon[$APPMON_TITLE])
    Local Const $hControl = ControlGetHandle($hAutoItWnd, '', 'Edit1')

    ControlSetText($hAutoItWnd, '', $hControl, ControlGetText($hAutoItWnd, '', $hControl) & @CRLF & _
            '|APPMON_PID:' & @AutoItPID & '|APPMON_HWND:' & (IsHWnd($hWnd) ? $hWnd : '0x0000000000000000') & '|APPMON_TIME:' & @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC & @CRLF)
    Return $aAppMon
EndFunc   ;==>_AppMon_Start

; #INTERNAL_USE_ONLY#============================================================================================================
Func __AppMon_Array(ByRef $aAppMon, $fIsIncludeCurrent, $fTimeString)
    Local $iError = 1, _
            $vReturn = Null
    If UBound($aAppMon) = $APPMON_MAX And $aAppMon[$APPMON_ID] = $APPMON_GUID Then
        Local $aWinList = WinList('[TITLE:' & $aAppMon[$APPMON_TITLE] & ']') ; Don't include the current this process.
        If ($fIsIncludeCurrent And $aWinList[0][0] > 0) Or $aWinList[0][0] > 1 Then
            $iError = 0
            Local Enum $eAPPMON_PID, $eAPPMON_WND, $eAPPMON_STARTTIME, $eAPPMON_MAX
            Local $aArray[$aWinList[0][0]][$eAPPMON_MAX], $aSRE = 0, _
                    $iIndex = 0
            For $i = 1 To $aWinList[0][0]
                $aSRE = StringRegExp(ControlGetText($aWinList[$i][$eAPPMON_WND], '', ControlGetHandle($aWinList[$i][$eAPPMON_WND], '', 'Edit1')), _
                        '\|APPMON_PID:(\d+)\|APPMON_HWND:(0[xX][[:xdigit:]]+)\|APPMON_TIME:(\d{14})\R', $STR_REGEXPARRAYGLOBALMATCH)
                If UBound($aSRE) = $eAPPMON_MAX Then
                    If Not $fIsIncludeCurrent And Number($aSRE[$eAPPMON_PID]) = @AutoItPID Then ContinueLoop

                    $aArray[$iIndex][$eAPPMON_PID] = Int($aSRE[$eAPPMON_PID])
                    $aArray[$iIndex][$eAPPMON_WND] = HWnd($aSRE[$eAPPMON_WND])
                    $aArray[$iIndex][$eAPPMON_STARTTIME] = $aSRE[$eAPPMON_STARTTIME]
                    If $fTimeString Then
                        $aArray[$iIndex][$eAPPMON_STARTTIME] = StringRegExpReplace($aArray[$iIndex][$eAPPMON_STARTTIME], '(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})', '\1/\2/\3 \4:\5:\6')
                    EndIf
                    $iIndex += 1
                EndIf
            Next
            ReDim $aArray[$iIndex][$eAPPMON_MAX]
            $vReturn = $aArray
            $aArray = 0
        EndIf
    EndIf
    Return SetError($iError, 0, $vReturn)
EndFunc   ;==>__AppMon_Array
Example 1:

#include <Array.au3>
#include <GUIConstantsEx.au3>

#include '_AppMon.au3'

Example()

Func Example()
    Local $hGUI = GUICreate('', 400, 300, Random(0, @DesktopWidth - 400, 1), Random(0, @DesktopHeight - 350, 1))

    Local $iCloseAll = GUICtrlCreateCheckbox('Close all instances.', 5, 272.5)
    GUICtrlSetState($iCloseAll, $GUI_CHECKED)

    Local $iAppMon = GUICtrlCreateButton('AppMon', 130, 270, 85, 25)
    Local $iRun = GUICtrlCreateButton('Run', 220, 270, 85, 25)
    Local $iClose = GUICtrlCreateButton('Close', 310, 270, 85, 25)
    GUISetState(@SW_SHOW, $hGUI)

    ; Add the current application to the AppMon list.
    Local $hAppMon = _AppMon_Start('SingletonExample', $hGUI)

    ; Get an array of the currently open applications not including this instance.
    Local $aAppMon = _AppMon_GetArray($hAppMon, True)
    WinSetTitle($hGUI, '', '[' & (UBound($aAppMon) + 1) & '] - PID: ' & @AutoItPID)

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE, $iClose
                ExitLoop

            Case $iAppMon
                ; Get an array of the currently open applications including this instance.
                $aAppMon = _AppMon_GetArrayAll($hAppMon)
                _ArrayDisplay($aAppMon)

            Case $iRun
                If @Compiled Then
                    Run(@ScriptFullPath, @WorkingDir)
                Else
                    Run(@AutoItExe & ' "' & @ScriptFullPath & '"', @WorkingDir)
                EndIf

        EndSwitch
    WEnd

    ; Close all open applications if the checkbox is selected.
    If BitAND(GUICtrlRead($iCloseAll), $GUI_CHECKED) Then
        ; Get an array of the currently open applications not including this instance.
        $aAppMon = _AppMon_GetArray($hAppMon)
        For $i = 0 To UBound($aAppMon) - 1
            ; Close the GUI handle.
            If WinExists($aAppMon[$i][1]) Then WinClose($aAppMon[$i][1])
        Next
    EndIf

    ; Delete the GUI.
    GUIDelete($hGUI)

    ; Remove from the AppMon list.
    _AppMon_Shutdown($hAppMon)

    Return True
EndFunc   ;==>Example
Example 2:

#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>

#include '_AppMon.au3'

Example()

Func Example()
    Local $hGUI = GUICreate('', 400, 300, Random(0, @DesktopWidth - 400, 1), Random(0, @DesktopHeight - 350, 1))

    Local $iCloseAll = GUICtrlCreateCheckbox('Close all instances.', 5, 272.5)
    GUICtrlSetState($iCloseAll, $GUI_CHECKED)

    Local $iRun = GUICtrlCreateButton('Run', 220, 270, 85, 25)
    Local $iClose = GUICtrlCreateButton('Close', 310, 270, 85, 25)
    GUISetState(@SW_SHOW, $hGUI)

    ; Array of the currently open applications.
    Local $aAppMon = 0

    ; Add the current application to the AppMon list.
    Local $hAppMon = _AppMon_Start('SingletonExample', $hGUI)

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE, $iClose
                ExitLoop

            Case $iRun
                ; Get an array of the currently open applications not including this instance.
                $aAppMon = _AppMon_GetArrayAll($hAppMon)

                ; Allow only 2 concurrent instances of an application to be executed.
                If UBound($aAppMon) = 2 Then
                    MsgBox($MB_SYSTEMMODAL, '', 'Total number of concurrent running applications has been reached.', 0, $hGUI)
                Else
                    If @Compiled Then
                        Run(@ScriptFullPath, @WorkingDir)
                    Else
                        Run(@AutoItExe & ' "' & @ScriptFullPath & '"', @WorkingDir)
                    EndIf
                EndIf
        EndSwitch
    WEnd

    ; Close all open applications if the checkbox is selected.
    If BitAND(GUICtrlRead($iCloseAll), $GUI_CHECKED) Then
        ; Get an array of the currently open applications not including this instance.
        $aAppMon = _AppMon_GetArray($hAppMon)
        For $i = 0 To UBound($aAppMon) - 1
            ; Close the GUI handle.
            If WinExists($aAppMon[$i][1]) Then WinClose($aAppMon[$i][1])
        Next
    EndIf

    ; Delete the GUI.
    GUIDelete($hGUI)

    ; Remove from the AppMon list.
    _AppMon_Shutdown($hAppMon)

    Return True
EndFunc   ;==>Example
All of the above has been included in a ZIP file. AppMonEx.zip

Previous download 260+.

Edited by guinness

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

  • 5 months later...

I updated the examples and UDF by replacing 'magic numbers' with the available variable constant values, as well as adding _AppMon_Shutdown for consistency with the original UDF. See first post for download and examples.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

  • 1 year later...

I have updated the examples and UDF by putting the "guinness charm" on it, as some might call it. The one script breaking change is _AppMon_GetArray() returns Null on error and doesn't include the current process on success. The internal workings of the AppMon handle have also changed, but then this shouldn't affect you.

See above for UDF and examples.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

Added _AppMon_GetArrayAll() which also includes the current process.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

Updated the examples and internal workings of the UDF.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
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
 Share

×
×
  • Create New...