ChrisL Posted January 18, 2006 Share Posted January 18, 2006 I've got this script which looks for error windows on a computer, if a specific window appears it grabs the text and sends it via TCP/IP to another computer, which then displays the message and asks the user if they wish to connect to the computer with the error on. Via a 3rd party application. My question is.. Currently there are 4 windows which are looked for, they are hard coded. The script has the begining part of the text I know appears, if that window appears it gets the text and sends it. It also sends the computer name and a Title to use based on the pc name, these are split by pipes and split into an array at the other end. (you didn't need to know that but I thought I might get questions) What I would like to do is to be able to make the list of error windows expandable via an ini file, but I don't know how to go about making it happen in the script dynamically based on ini entries. Can someone give me a hand in doing this.. Thanks expandcollapse popup$Server = "Bay6server" $Port = "8000" Global $MainSocket While 1 If WinExists ("", "W-") then $Textread = WinGetText ( "" , "W-" ) SendData($TextRead) WinWaitClose ("", "W-") Elseif WinExists ("", "I-") then $Textread = WinGetText ( "" , "I-" ) SendData($TextRead) WinWaitClose ("", "I-") Elseif WinExists ("", "E-") then $Textread = WinGetText ( "" , "E-" ) SendData($TextRead) WinWaitClose ("", "E-") Elseif WinExists ("", "X-") then $Textread = WinGetText ( "" , "X-" ) SendData($TextRead) WinWaitClose ("", "X-") Else $Textread = "" Endif SLEEP (500) Wend Func SendData($Data) TCPStartup() $MainSocket = TCPConnect(TCPNameToIP($Server), $Port) TCPSend($MainSocket, @computername & "|" & "Error on " & @computername & "|" & $Data ) TCPCloseSocket($MainSocket) TCPShutdown() Endfunc Func OnAutoItExit() TCPCloseSocket($MainSocket) TCPShutdown() EndFunc;==>OnAutoItExit [u]Scripts[/u]Minimize gui to systray _ Fail safe source recoveryMsgbox UDF _ _procwatch() Stop your app from being closedLicensed/Trial software system _ Buffering Hotkeys_SQL.au3 ADODB.Connection _ Search 2d Arrays_SplashTextWithGraphicOn() _ Adjust Screen GammaTransparent Controls _ Eventlogs without the crap_GuiCtrlCreateFlash() _ Simple Interscript communication[u]Websites[/u]Curious Campers VW Hightops Lambert Plant Hire Link to comment Share on other sites More sharing options...
CyberSlug Posted January 18, 2006 Share Posted January 18, 2006 Don't necessarly need an ini file. A file with each window title on a separate line could suffice W- I- E- X- Then use arrays. Note: I didn't test this code. #include <File.au3> Global $listOfErrors = @ScriptDir & "\errorList.txt";set path as needed Global $windowTitle _FileReadToArray($listOfErrors, ByRef $windowTitle) $Server = "Bay6server" $Port = "8000" Global $MainSocket While 1 For $i = 0 to UBound($listOfErrors)-1 If WinExists($windowTitle[$i]) Then $Textread = WinGetText ( "" , $windowTitle[$i] ) SendData($TextRead) WinWaitClose ("", $windowTitle[$i]) EndIf sleep(100); prevent maxing out the CPU Next SLEEP (500) Wend Use Mozilla | Take a look at My Disorganized AutoIt stuff | Very very old: AutoBuilder 11 Jan 2005 prototype I need to update my sig! Link to comment Share on other sites More sharing options...
ChrisL Posted January 18, 2006 Author Share Posted January 18, 2006 Don't necessarly need an ini file. A file with each window title on a separate line could sufficeThen use arrays. Note: I didn't test this code.Cunning I like it.. Thanks [u]Scripts[/u]Minimize gui to systray _ Fail safe source recoveryMsgbox UDF _ _procwatch() Stop your app from being closedLicensed/Trial software system _ Buffering Hotkeys_SQL.au3 ADODB.Connection _ Search 2d Arrays_SplashTextWithGraphicOn() _ Adjust Screen GammaTransparent Controls _ Eventlogs without the crap_GuiCtrlCreateFlash() _ Simple Interscript communication[u]Websites[/u]Curious Campers VW Hightops Lambert Plant Hire Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now