sixbenz Posted October 1, 2008 Share Posted October 1, 2008 (edited) I made this very basic script that would send 3 every 6.1 seconds to the active window, what would I write to have it done while minimized? While 1 = 1 Send ("{3}") Sleep(6100) WinActivate("Pacman") WEnd It would be very much appreciated if someone could give a helping hand. Edited October 1, 2008 by sixbenz Link to comment Share on other sites More sharing options...
Community On Patrol Posted October 1, 2008 Share Posted October 1, 2008 Hi sixbenz,1st Welcome to the AutoIt Forums! 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.CODEDid 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:FAQs (Frequently Asked Questions)Are my AutoIt EXEs really infected? (About false positives and what to do if you may encounter one)[*]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.Valuaters Interactive AutoIt 1-2-3 tutorialLxPs Learning to script with AutoIt3[*]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 languagesIf 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 More sharing options...
sixbenz Posted October 1, 2008 Author Share Posted October 1, 2008 (edited) I actually did do a search and I went through the first two pages (in which about 9 out of 10 threads werent relevant to the matter) but a full and complete answer is nowhere to be found, theres just references to other sites, long scripts (where you need to get a clue) and this MouseClicker function. I'm sure someone has a simple and fast solution or isnt there one? Edited October 1, 2008 by sixbenz Link to comment Share on other sites More sharing options...
youknowwho4eva Posted October 1, 2008 Share Posted October 1, 2008 C.O.P is a bot, look up controlsend in the help file Giggity Link to comment Share on other sites More sharing options...
ksmith247 Posted October 1, 2008 Share Posted October 1, 2008 ControlSend() will do what you want. Support bacteria; it's the only culture most people have.LxP's Learning to Script with AutoIt 3 - Excellent starting placeVolly's Links Page - Links to cool and useful scriptsAutoIt Wrappers - Valuater's AutoIt Wrappers post. Lots of good stuff.Support AutoIt - Make a donation here; I did.[size="2"]#include <Guinness.pint>[/size] Link to comment Share on other sites More sharing options...
sixbenz Posted October 1, 2008 Author Share Posted October 1, 2008 (edited) I tried the following but nothing happens. While 1 = 1 ControlSend("Warhammer: Age of Reckoning, Copyright 2001-2008 Electronic Arts, Inc.", "", "","{2}") Sleep(2000) WEnd I tried without the {} aswell but that does not work either. Edited October 1, 2008 by sixbenz Link to comment Share on other sites More sharing options...
AwAke Posted October 1, 2008 Share Posted October 1, 2008 (edited) Ok try this out sixbenz. $hwnd = WinGetHandle("classname=<put the classname here>") If @Error Then MsgBox(0, "Age Of Conan", "Sorry the handle could not be found.") Else EndIf While 1 = 1 ControlSend($hwnd, "", "", "{2}") Wend Hope this helps -AwAke. Edited October 1, 2008 by AwAke Link to comment Share on other sites More sharing options...
sixbenz Posted October 1, 2008 Author Share Posted October 1, 2008 No luck, $hwnd = WinGetHandle("classname=WARWIN") If @Error Then MsgBox(0, "Age Of Conan", "Sorry the handle could not be found.") Else EndIf While 1 = 1 ControlSend($hwnd, "", "", "{2}") Wend Thats what I tried and I got the popup saying that the handle was not found, when I clicked the error it started spamming 2 to any window but that one. Link to comment Share on other sites More sharing options...
AwAke Posted October 1, 2008 Share Posted October 1, 2008 Uhm and you do have the age of conan client open? Link to comment Share on other sites More sharing options...
sixbenz Posted October 1, 2008 Author Share Posted October 1, 2008 Nah but I'm trying to get it to work for Warhammer Online which I do have up. Link to comment Share on other sites More sharing options...
AwAke Posted October 1, 2008 Share Posted October 1, 2008 I see, I would further test this myself but I do not have Age Of Conan, sorry. Link to comment Share on other sites More sharing options...
sixbenz Posted October 1, 2008 Author Share Posted October 1, 2008 (edited) I read another thread about wanting to do the same but no luck there either, the script I tried was the following. HotKeySet("{F9}", "start") HotKeySet("{F10}", "stop") AutoItSetOption("WinTitleMatchMode", 4) While 1 Sleep(1000) WEnd Func start() Global $Show = 0 Global $handle = WinGetHandle("classname=WARWIN") WinSetState($handle, "", @SW_SHOW) WinSetState($handle, "", @SW_SHOWMAXIMIZED) If @error Then MsgBox(0, "Error", "Could not find WAR.") Else While 1 ControlSend($handle, "", "", "{3}") Sleep(20200) ;===========> or the spell cast speed If $Show > 0 Then ExitLoop WEnd EndIf EndFunc ;==>hide Func stop() Global $Show = 1 WinSetState("Warhammer: Age of Reckoning, Copyright 2001-2008 Electronic Arts, Inc.", "", @SW_SHOW) WinSetState("Warhammer: Age of Reckoning, Copyright 2001-2008 Electronic Arts, Inc.", "", @SW_MAXIMIZE) WinActivate($handle, "") EndFunc ;==>show http://www.autoitscript.com/forum/index.ph...0send&st=15 And heres a copy of the AutoIt Window Info for WAR: >>>> Window <<<< Title: Warhammer: Age of Reckoning, Copyright 2001-2008 Electronic Arts, Inc. Class: WARWIN Position: 0, 0 Size: 1286, 1036 Style: 0x14CA0000 ExStyle: 0x00000101 Handle: 0x03FF0386 >>>> Control <<<< Class: Instance: ClassnameNN: Advanced (Class): ID: Text: Position: Size: ControlClick Coords: Style: ExStyle: Handle: 0x00010080 >>>> Mouse <<<< Position: 792, 557 Cursor ID: 15 Color: 0xD1D5D8 >>>> StatusBar <<<< >>>> Visible Text <<<< >>>> Hidden Text <<<< Edited October 1, 2008 by sixbenz Link to comment Share on other sites More sharing options...
sixbenz Posted October 1, 2008 Author Share Posted October 1, 2008 Nobody? (bump) Link to comment Share on other sites More sharing options...
AwAke Posted October 1, 2008 Share Posted October 1, 2008 (edited) Woah I just re-read what I wrote, what was I thinking Age Of Conan jeez. I was probably reading something related to it (A). Erm if you want to send it while the program is minimized, try this. AutoItSetOption("WinTitleMatchMode", 4) $hwnd = WinGetHandle("classname=WARWIN") If @Error Then MsgBox(0, "WoW Leecher", "Sorry the handle could not be found.") Else EndIf While 1 = 1 ControlSend($hwnd, "", "", "{2}") Wend Let me know what happens with just that. Edited October 1, 2008 by AwAke Link to comment Share on other sites More sharing options...
LarryDalooza Posted October 1, 2008 Share Posted October 1, 2008 Applications know when they are minimized and, very likely, may ignore stuff until restored again. Lar. AutoIt has helped make me wealthy Link to comment Share on other sites More sharing options...
MasterX Posted October 1, 2008 Share Posted October 1, 2008 And Warhammer has no ClassnameNN, thats another problem. Link to comment Share on other sites More sharing options...
AoRaToS Posted October 1, 2008 Share Posted October 1, 2008 Maybe you should try: $GameTitle = "Warhammer: Age of Reckoning, Copyright 2001-2008 Electronic Arts, Inc." WinWaitActive($GameTitle) Call("Gameloop") Func Gameloop() ControlSend($GameTitle, "", "", "{2}") Sleep(6100) Call("Gameloop") EndFunc s!mpL3 LAN Messenger Current version 2.9.9.1 [04/07/2019] s!mpL3 LAN Messenger.zip s!mpL3 Link to comment Share on other sites More sharing options...
MasterX Posted October 4, 2008 Share Posted October 4, 2008 But what i (we?^^) want is to send it when warhammer is not active, when it´s active you can use the normal send. Link to comment Share on other sites More sharing options...
AoRaToS Posted October 5, 2008 Share Posted October 5, 2008 You will have to activate the game ONCE anyway, so just run the code above, then run the game...the minimize it an it should still be running and sending atwolf359 1 s!mpL3 LAN Messenger Current version 2.9.9.1 [04/07/2019] s!mpL3 LAN Messenger.zip s!mpL3 Link to comment Share on other sites More sharing options...
Yorn Posted November 6, 2008 Share Posted November 6, 2008 Actually, Warhammer catches send() input, I have every reason to believe it'd catch ControlSend as well. Link to comment Share on other sites More sharing options...
Recommended Posts