Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm a newbie to AHK, learning the basics. I'm using Notepad as an example - I want to hit the Cancel key every time I close Notepad and it asks if I want to Save/Don't Save/Cancel.

I've come up with the script below and it works once but then I have to reload the script to do it again. I want it to hit Cancel every time the question box comes up. I thought Loop would work but am doing something wrong. Any ideas why, anyone?

Loop
IfWinExist Notepad,
{
    WinWait Notepad
    WinActivate
    Click 312, 109
    return
}
share|improve this question
    
Use the { } or code button on the toolbar while editing to indent your code 4 spaces so it shows up properly. I've edited your post to show you how. –  Karan Jun 29 '13 at 4:06

1 Answer 1

up vote 0 down vote accepted
Loop
{
    WinWait, Notepad ahk_class #32770
    WinClose
}

will do what you want. I've used WinWait to identify the close dialog and WinClose to close it, which is the same as clicking Cancel. I obtained the ahk_class using AutoIt3 Window Spy of course, which is installed along with AHK.

share|improve this answer
    
Many thanks. Your solutions are always simple and precise. I was using Notepad to get my head round clicking on a certain button. What I am actually trying to achieve is this. I use accounting software which generates statements which should automatically email (using Outlook) to clients. However Outlook complains about each and every email, it pops up a box (with the word "Outlook" in the titlebar) saying that an external program is trying to access email address information, and it gives three choices "Allow/Deny/Help" with Deny being the default key. –  John Jun 29 '13 at 13:18
    
continued : What I want to do is use AHK to wait for this window to pop up, then move the mouse to the "Allow" key and click the button. I need the script to repeat itself the next time the box pops up. We send out a thousand statements a month and this box pops up for each of them, I want AHK to click the "Allow" button for me in each of them. I can get AHK to click the Allow key the first time the box pops up but it won't do the successive ones, but I always seem to struggle with the Looping. Thanks for your assistance –  John Jun 29 '13 at 13:18
    
If the dialog with Allow/Deny/Help has Deny focussed by default, SendInput {Enter} would press the Enter key and thus select Deny. If you need to focus and click other buttons such as Allow you can use something like SendInput {Tab}{Enter}. –  Karan Jun 29 '13 at 16:48
    
Thanks Karan, I'm away from home right now - will try it when I get back. I think I always tend to over-complicate these scripts whereas the solution always seems pure and simple when I see it. Thanks again for your help. –  John Jun 29 '13 at 18:18

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.