CygnusX1 Posted March 10, 2008 Posted March 10, 2008 Hi Everyone, I'm opening up a dialog box and the File Name field is the active field, so far so good. Then I'm using Send() to pass in the path and file name to open. Send() keep truncating my string, which by the way is a variable. my string should be: C:\Documents and Settings\username\Desktop\AutoIt\models\first.txt what keeps getting "Sent()" is ings\username\Desktop\AutoIt\models\first.txt I've tried using Sleeps WinWaitActive and anything else I can think of. Why is it doing that? Thank you. Cygnus Cygnus
Monamo Posted March 10, 2008 Posted March 10, 2008 Hi Everyone, I'm opening up a dialog box and the File Name field is the active field, so far so good.Then I'm using Send() to pass in the path and file name to open. Send() keep truncating my string, which by the way is a variable.my string should be:C:\Documents and Settings\username\Desktop\AutoIt\models\first.txtwhat keeps getting "Sent()" isings\username\Desktop\AutoIt\models\first.txtI've tried using SleepsWinWaitActiveand anything else I can think of.Why is it doing that?Thank you.CygnusDo you have a code snippet for us to analyze? It would help to see if maybe it's a syntactical issue or some such roadblock. - MoChr(77)& Chr(97)& Chr(100)& Chr(101)& Chr(32)& Chr(121)& Chr(97)& Chr(32)& Chr(108)& Chr(111)& Chr(111)& Chr(107)-------I've told you 100,000 times not to exaggerate!-------Don't make me hit you with my cigarette hand...-------My scripts:Random Episode Selector, Keyboard MouseMover, CopyPath v2.1, SmartRename for XP,Window Tracer[sup]New![/sup]
CodeMaster Rapture Posted March 10, 2008 Posted March 10, 2008 You also try ControlSend to the dialogbox. I use it on slower machines.
CygnusX1 Posted March 10, 2008 Author Posted March 10, 2008 (edited) Func OpenModel($str) WinMenuSelectItem($SUTitle, "", "&File", "Open..."); File > Open WinWaitActive("Open", "&Open", 5);Wait for Open dialog box Sleep(2000);just so I can see it Send("{DELETE}");erase existing name in File Name field Sleep(2000);more waiting Send($ModelPath & $str); string to dir and file name Sleep(1000);more waiting Send("{Enter}");send enter to press default active button "Open" EndFunc Here is my code. Hope that helps. Cygnus Edited March 10, 2008 by CygnusX1 Cygnus
nf67 Posted March 10, 2008 Posted March 10, 2008 (edited) I have the exact same question actually.... If someone knows the solution then you help us out both :-) This is my code: #include <GUIConstants.au3> $Form1 = GUICreate("Form1", 312, 61, 193, 125) $Text = GUICtrlCreateInput("puttexthere", 8, 8, 297, 21) $Spam = GUICtrlCreateButton("Spam", 208, 32, 99, 25, 0) $Stop = GUICtrlCreateButton("Stop", 8, 32, 49, 17) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $Spam Sleep ( 5000 ) ;Time it takes for me to put the cursor somewhere Do Send ( "$Text" ) ;Doesn't work Send ( "{ENTER}" ) Until $Stop Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Edited March 10, 2008 by nf67
CygnusX1 Posted March 10, 2008 Author Posted March 10, 2008 Here is more to my puzzle: I have a check to see if the WinExists, if it doesn't use Run(); start the application WinWait($SUTitle) WinMove($SUTitle, "", 0, 0, 800, 600) WinActivate($SUTitle, "") I have a code block that I also see if it does WinExits() then do blah blah blah... After each code block is when I use the WinMenuSelectItem() and Send() methods. If the application was not running and AutoIt has to invoke it sometimes, most of the time WinMenuSelectItem() never works. If I manually do File > Open, the next I run the script with the program open WinMenuSelectItem() and Send() work everytime. If the application was running WinMenuSelectItem() works but truncates the string. Weird. I have the exact same question actually.... If someone knows the solution then you help us out both :-) This is my code: #include <GUIConstants.au3> $Form1 = GUICreate("Form1", 312, 61, 193, 125) $Text = GUICtrlCreateInput("puttexthere", 8, 8, 297, 21) $Spam = GUICtrlCreateButton("Spam", 208, 32, 99, 25, 0) $Stop = GUICtrlCreateButton("Stop", 8, 32, 49, 17) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $Spam Sleep ( 5000 ) ;Time it takes for me to put the cursor somewhere Do Send ( "$Text" ) ;Doesn't work Send ( "{ENTER}" ) Until $Stop Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Cygnus
LinuZ Posted March 10, 2008 Posted March 10, 2008 (edited) Hello, I have had this problem too. I fixed it with the option SendKeyDelay "Alters the the length of the brief pause in between sent keystrokes. Time in milliseconds to pause (default=5). Sometimes a value of 0 does not work; use 1 instead." Set this to a higher value than 5 (default) and test again! So insert for example this after the includes or in the beginning of the script: AutoItSetOption ( "SendKeyDelay", 10 ) Check it out, it might help! Edited March 10, 2008 by LinuZ
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