ryanam Posted January 14, 2013 Share Posted January 14, 2013 Hi Guys, So I'm going through a basics tutorial for AutoIT (Original by Alex Peters (LxP)) and I've come across a hitch on one of the first scripts. I'm using the SciTE4AutoIt3 editor. The script relates to notepad.exe and involved opening it, adding text, closing it and not saving. The code is here... #ce ---------------------------------------------------------------------------- ; Script Start - Add your code below here Run("notepad.exe") WinWaitActive("Untitled - Notepad") Send("This is some text.") WinClose("Untitled - Notepad") WinWaitActive("Notepad", "Save") ;WinWaitActive("Notepad", "Do you want to save") ; When running under Windows XP Send("!n") When I run this, notepad.exe will re-open itself a seemingly infinite number of times even when all other applications are closed (including the compiler). Eventually, my system will crash and I have to restart. Any help would be much appreciated. Link to comment Share on other sites More sharing options...
guinness Posted January 14, 2013 Share Posted January 14, 2013 It's the Send command. This demonstrates a better example. Example() Func Example() ; Simulate the key combination Win + R to open the Run dialogue window. Send("#r") ; Wait 10 seconds for the Run dialogue window to appear. WinWait("Run", "", 10) ; Simulate entering notepad.exe and pressing the 'ENTER' key. Send("notepad.exe{Enter}") ; Wait 10 seconds for the Notepad window to appear. Local $hWnd = WinWait("[CLASS:Notepad]", "", 10) ; Simulate entering the following string and pressing the 'F5' key to input the date and time into edit control of Notepad. Send("Today's time/date is {F5}") ; Close the Notepad window using the handle returned by WinWait. WinClose($hWnd) ; Now a screen will pop up and ask to save the changes, the classname of the window is called ; "#32770" and simulating the "TAB" key to move to the second button in which the "ENTER" is simulated to not "save the file" WinWaitActive("[CLASS:#32770]") Sleep(500) Send("{TAB}{ENTER}") EndFunc ;==>Example 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 parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
ryanam Posted January 14, 2013 Author Share Posted January 14, 2013 (edited) Thanks for the response. As I'm in the process of following that tutorial, and the code which I used it part of that, could anyone give information as to what's wrong with the piece of code I added, specifically? Like I said... I'm just learning now but would like to know why this tutorial is being widely used (from search results) yet I can't run it properly. I appreciate the response code but at this stage of learning, I don't really know what a lot of it means... it also gives IO errors which I'd rather try to fix when I know a bit more about them If the send command is causing problems, anyone know what might fix that? Thanks again Edited January 14, 2013 by ryanam Link to comment Share on other sites More sharing options...
water Posted January 14, 2013 Share Posted January 14, 2013 The biggest problem with most of the example scripts in tutorials and the forum - in my eyes - is that they do no error checking. Every function returns success/error by setting the return value, @error and @extended. Check this values to make sure that your script does what you want it to do. My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
ryanam Posted January 14, 2013 Author Share Posted January 14, 2013 Thanks. This was more a step by step guide with each piece of code explained and tested. From what I can see, the Send value is just ("Text"). As in send text input to the application. The second ("!n) Alt+N's the save message. From the original code, could someone provide some detail of what the value should be if not what it already is? Thanks again Link to comment Share on other sites More sharing options...
imk001 Posted January 14, 2013 Share Posted January 14, 2013 Ryan, it seems like the code is correct. May i ask if you are running this on WIN XP or WIN 7 OS. if WIN 7 then the above code that you provided works without any issue. If its WIN XP that the code will not work. make the below changes and see if it does WinWaitActive("Notepad", "Do you want to save") ;WinWaitActive("Notepad", "Save") 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