Jump to content

Beginners (bad)Luck


ARozanski
 Share

Recommended Posts

Hi, i have just started learning how to program with AutoIt and i have already run into a few small problems that i cant seem to get right. They are very very simple, small things and i'm sure this just something small i am missing:

1) In the tutorials there is a tutorial to automate notepad. Now i have tried a few things with that and wen i end off with

WinClose("Untitled - Notepad")

WinWaitActive("Notepad", "Do you want to save")

#AND THEN

Send("!n")

it just doesnt seem to send the "!n" at all...Yet when it gets me to the window where it asks me if i want to save or not - if i manually press 'n' on my keyboard it will choose "No"

At first i thought i didnt type it in properly, so i tried copy/pasting from the tutorial example and it still doesnt work. I tried taking the '!' out - still nothing...have no idea what i am doing wrong - please help.

2) There is a game i am trying to automate the launch and password input on its on...but when i type in the Run("C:\.....") it either does nothing or returns an error. Is this normal with some applications?

Thank you in advance for your reply.

PS - i am running Windows Vista

Link to comment
Share on other sites

Make sure you have #RequireAdmin on top of your scripts for vista. For your Send() problem it should be Send("{N}"), and for the run make sure you supply the proper file and workingdir.

Link to comment
Share on other sites

For your Send() problem it should be Send("{N}")

Where did you get that idea? In my experience, sending a capital letter is unreliable and sometimes sends the shift state.

So Send("N") is equivalent to Send('+n')

Unfortunately, I don't know what the problem is.

Using this script works fine for me (although I'm using WinXP), does it fail for you?

Run('notepad.exe')
WinWaitActive('Untitled - Notepad')
Send('Hi there!', 1)
WinClose("Untitled - Notepad")
WinWaitActive("Notepad", "Do you want to save")
Send('n')

Try using ControlSend though, or perhaps ControlClick.

ControlSend('Notepad', 'Do you want to save', 'n')

or

ControlClick('Notepad', 'Do you want to save', 'Button2')

See if either of those work.

Link to comment
Share on other sites

I've never had any problems caused by sending capital letters before. I'm running vista and OpenSUSE 11 and it seems to work just as well for me. I agree with your opinion to use ControlSend()/ControlClick() but I was merely trying to point out that there shouldn't be a +, !, or ^ when sending the character since the person stated that when N is pressed on the keyboard it works properly.

Edit: typo

Edited by dbzfanatic
Link to comment
Share on other sites

I have tried EVERYTHING now...i tried ("{n}"), i tried the

ControlSend('Notepad', 'Do you want to save', 'n')

AND

ControlClick('Notepad', 'Do you want to save', 'Button2')

nothing seems to work...i dont understand - this is supposed to be the most simple of tasks. I even copy/pasted

Run('notepad.exe')

WinWaitActive('Untitled - Notepad')

Send('Hi there!', 1)

WinClose("Untitled - Notepad")

WinWaitActive("Notepad", "Do you want to save")

Send('n')

It's extremely weird - because like i said - if i simply type 'n' when the "Do you want to save..." screen pops up - it clicks on 'No'...BUT Send('n') doesn't work

still - doesnt work...

Thank you so much for your replies though!! ;-)

Edited by ARozanski
Link to comment
Share on other sites

Hi ARozanski,

1st Welcome to the AutoIt Forums! :idiot:

Some of the following tips may not apply to you, but it may make your life a bit easier here on the forum in the future.

CODE
  • Did you know that we have an awesome search feature?

    You can find many answers to your current questions, just by typing in the right search patterns.

  • A suggestion is to use the Advanced Search mode:

  • Type your specific search term in quotes.
  • Click the forum you want to search in (the one most likely to have your information would generally be the Example Script forum and or the General Help and Support Forum).
  • Click on "Search titles only" radio button.
  • Click perform search.
The above will help you narrow down your searches and prevent you from unneccesarily posting a new thread.

[*]Also, you should try to read the Sticky posts that are at the top of each of the AutoIt Forums you enter such as:

[*]Keep in mind, the help file will be your best friend, however you may find some of the tutorials written by some of our elite forum members helpful.

[*]Forum Etiquette:

  • Making a new thread:

    • Use the Search feature first to see if your question has already been answered.
    • Look in the help file as well before even thinking of posting (When what you want could be obtained by simply reading the help file, you don't generally get a good response from your AutoIt community).
    • Titles are very important here. 1 word titles or titles like "help me", "write something for me", "I'm a noob" etc... aren't tolerated.
    • Make sure you are posting in the correct forum:

      • General Help and Support:

        • This forum is for AutoIt related support questions only. If you have a question related to another language, or nothing at all to do with AutoIt then you need to post in the chat forum, or in that languages perspective forum.
      • Example Script:

        • This forum is for AutoIt scripts/executables only.
        • Source code is preferred but not necessary, you do have the right to just post the binary of your project if you wish.
        • Please don't post questions in this forum unless it's directly related to a thread already existing.
    • Use common sense when creating a new thread.

      Ask yourself if the title is descriptive enough to even interest someone (preferably those that know what they are talking about) to even look at your thread, let alone reply in it.

    • Think about how it would show in the search feature if someone were to look for something just like you are looking for (think of the keywords you used yourself and obviously didn't find anything (because we know you used the search feature :) ) and use those types of keywords in your title as well).
  • Thread content:

    • Be descriptive with your query. (Make sure we actually know what you want to do).
    • Show you've made an effort in coding what you want (provide the reproducer code (generally no more than 50 lines as people lose interest in debugging someones script for free)).
    • Don't talk in ebonics. A lot of the forum members are adults, and a lot of them know how to help you, but talk like a child, you'll be treated as such.
    • Don't ask for help making keyloggers, spam (even if it's to do as a prank), or anything that can be thought of as malicious. You'll more than likely have the thread locked by a moderator, and take a bashing from your fellow AutoIt community.
    • When posting code, use code boxes. This can be accomplished by using [code ]<content here>[/code ] (No spaces between the brackets []).

      Using code boxes will keep the indentation and make it easier to read for others to help you.

  • Bumping your threads:

    • Use common courtesy here.

      Keep in mind every time you bump your thread to the top of the forum, you knock the other threads down a notch.

      Everyone posting for help has just as much right for their threads to get read as you do.

      Because of that, do not bump your post more than once in a 24 hour period.

      A Bump is simply posting in your thread with nothing that pertains to your query with the sole purpose of moving it up.

      Deleting previous bumps, and posting new ones is not tolerated, and the moderators can find those deletions, so do yourself a favor and don't cross that line >_< .

  • Rude or obnoxious content:

    This falls pretty much under the common sense thing. If you use it (common sense) before posting, you won't have issues.

    • Don't use foul language, remember, a lot of the community is at work when they read these threads.
    • Don't provoke or instigate an argument with someone.
  • Double Posting:

    • It's understood that sometimes there's a lag in the system, and sometimes people don't see their post go up right aways so they post again.

      If this happens to you, simply notify a moderator with the report feature in the post, and politely ask them to delete it.

    • If you're just creating another topic because your original topic is not being answered the way you want or at all, this is not tolerated. You could lose your posting privileges all together over it.
  • Non-English languages

    • If English is not your primary language, please make an attempt to interpret (yourself or online) and post that interpretation.

      We have wonderful users from around the world, so after you've done your post in English, back it up with your question also in your native tongue (You may find your answer much quicker using both).

That's it for now, I hope you have a wonderful learning experience, and hope to see you contribute to the community as your knowledge grows.
Link to comment
Share on other sites

I have tried EVERYTHING now...i tried ("{n}"), i tried the

ControlSend('Notepad', 'Do you want to save', 'n')

AND

ControlClick('Notepad', 'Do you want to save', 'Button2')

nothing seems to work...i dont understand - this is supposed to be the most simple of tasks. I even copy/pasted

Run('notepad.exe')

WinWaitActive('Untitled - Notepad')

Send('Hi there!', 1)

WinClose("Untitled - Notepad")

WinWaitActive("Notepad", "Do you want to save")

Send('n')

It's extremely weird - because like i said - if i simply type 'n' when the "Do you want to save..." screen pops up - it clicks on 'No'...BUT Send('n') doesn't work

still - doesnt work...

Thank you so much for your replies though!! ;-)

It's probably something very simple, that is often the most difficult type of problem to cure!

Try adding a delay after WinWaitACtive

Run('notepad.exe')
WinWaitActive('Untitled - Notepad')
Send('Hi there!', 1)
WinClose("Untitled - Notepad")
WinWaitActive("Notepad", "Do you want to save")
sleep(200)
Send('n')
Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.
Link to comment
Share on other sites

I'm pretty sure I had this problem too! And I don't think I actually found a fix for it. But for me, if I changed WinWaitActive("Notepad", "Do you want to save") to just WinWaitActive("Notepad"), the whole thing worked. Does that work for you? (not that it really fixes anything, just avoids it)

Link to comment
Share on other sites

WinWaitActive("Notepad", "Do you want to save") seems to be the problem. It's waiting for the window to be active when its already active. You can try the AutoIt v3 Window Info tool from the start menu->All programs->Auto Itv3->AutoIt v3 Window Info, to get the visible text from the window that asks you to save, and copy and paste it in the script. Also, you can put a timeout to the WinWaitActive("Notepad","Do you want to save",timeout) where timeout is in seconds, to wait till that much time before continuing on with the next line.

[topic="80940"] AutoScript Creator, Script to automate anything![/topic]

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

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...