GSM Posted December 20, 2005 Share Posted December 20, 2005 Hello everyone. Not sure how the best way to explain this would be but here goes. I've been making little programs for friends to make thier lives easier on some games, nothing really big just some bots. I was wondering is there a way to send certain keys to inactive programs. (IE it would be like the game is maximized and you press F1, but it would stay minimized) Not so much where it would activate the "game" or whatnot and press it then reactivate whatever you were using before hand. Most of these would take a couple seconds to reload the full screen game. So instead of activating it it would just send the keystroke to the program. Thanks, GSM Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted December 20, 2005 Moderators Share Posted December 20, 2005 (edited) Hello everyone. Not sure how the best way to explain this would be but here goes. I've been making little programs for friends to make thier lives easier on some games, nothing really big just some bots. I was wondering is there a way to send certain keys to inactive programs. (IE it would be like the game is maximized and you press F1, but it would stay minimized) Not so much where it would activate the "game" or whatnot and press it then reactivate whatever you were using before hand. Most of these would take a couple seconds to reload the full screen game. So instead of activating it it would just send the keystroke to the program. Thanks, GSM Take a look at HotKeySet() / WinSetState() in the helpfile: HotKeySet("{F1}", "MinimizeGame") HotKeySet("{F2}", "RestoreGame") While 1 ;script here Sleep(1000) WEnd Func MinimizeGame() WinSetState("Game Title", "", @SW_MINIMIZE) EndFunc Func RestoreGame() WinActivate("Game Title") EndFunc Edit: Forgot ['/code] tag!! Edited December 20, 2005 by SmOke_N Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
GSM Posted December 20, 2005 Author Share Posted December 20, 2005 No I was thinking more like ControlSend() but I can't seem to get it to work with the game. I got the title right but the ControlID I have no clue what to put for it... Even if I just leave it blank it doesn't seem to want to send. Link to comment Share on other sites More sharing options...
blademonkey Posted December 20, 2005 Share Posted December 20, 2005 No I was thinking more like ControlSend() but I can't seem to get it to work with the game. I got the title right but the ControlID I have no clue what to put for it... Even if I just leave it blank it doesn't seem to want to send.what game is it? ---"Educate the Mind, Make Savage the Body" -Mao Tse Tung Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted December 20, 2005 Moderators Share Posted December 20, 2005 No I was thinking more like ControlSend() but I can't seem to get it to work with the game. I got the title right but the ControlID I have no clue what to put for it... Even if I just leave it blank it doesn't seem to want to send. Well, you are asking specifically for this... I don't know what your trying to send to the window with control send... are you sending F1? Dim $Control = 1 HotKeySet("{F1}", "MinimizeGame") HotKeySet("{F2}", "RestoreGame") While 1 ;script here Sleep(1000) WEnd Func MinimizeGame() While $Control = 1 If $Control = 1 Then If Not BitAnd(WinGetState("Game Title", ""), 16 ) Then WinSetState("Game Title", "", @SW_MINIMIZE) EndIf Sleep(10) Wend $Control = 1 EndFunc Func RestoreGame() $Control = 2 EndFunc Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted December 20, 2005 Moderators Share Posted December 20, 2005 Or if your trying to send a specific key to a window, I guess I'm not understanding why your not using ControlSend() already??? ControlSend("Title", "Text", "ControlID", "{F1}") << if this was what you were after sending F1 to the minimized window... (I don't know if F1 for your game automatically minimizes the window and keeps it down) then there you go... Else, the code I gave you above will work and keep the window minimized until you press the F2 key. Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
seandisanti Posted December 20, 2005 Share Posted December 20, 2005 No I was thinking more like ControlSend() but I can't seem to get it to work with the game. I got the title right but the ControlID I have no clue what to put for it... Even if I just leave it blank it doesn't seem to want to send.there's a possibility that even with good control send commands, ie: HotKeySet("{PAUSE}","ICantThinkOfAFunnyFunctionNameImTooTiredAndHaventHadAnyEnergyDrinksTodayButThisIsStillALongOneTh ough") while 1 Sleep(100) WEnd Func ICantThinkOfAFunnyFunctionNameImTooTiredAndHaventHadAnyEnergyDrinksTodayButThisIsStillALongOneThough () Run("Notepad") ControlSend("Untitled - Notepad",15,"This would go to notepad window regardless of what window is active/maximized") Exit EndFunc your game may block the keys you're using as hotkeys, preventing the function from ever being called. alot of newer multiplayer games are doing things like this to stop people from using bots. I'd say to check your hotkey first, just have it display a tooltip or something so that you can see the key is working, then work on controlsend. Link to comment Share on other sites More sharing options...
GSM Posted December 20, 2005 Author Share Posted December 20, 2005 (edited) Couple different games (rose, silkroad and wow) I know the function is something like ControlSend("SilkRoad", "", "", "{F1}") I know when you do this with Notepad it works and the ControlID is Edit1, but am I suppose to just leave the ControlID blank for the game(s)? (I know one or two other games I have tried this with have blocked me from other things so it could just be it won't work) Edited December 20, 2005 by GSM Link to comment Share on other sites More sharing options...
seandisanti Posted December 20, 2005 Share Posted December 20, 2005 (edited) Couple different games (rose, silkroad and wow)I know the function is something likeControlSend("SilkRoad", "", "", "{F1}")I know when you do this with Notepad it works and the ControlID is Edit1,but am I suppose to just leave the ControlID blank for the game(s)?blank control id won't work. it's been suggested before, but when it was actually tried, it didn't do anything.***edit*** when i'm sending to games, typically i'll just winactivate() the game, which makes it the active window regardless of state, then use Send() Edited December 20, 2005 by cameronsdad Link to comment Share on other sites More sharing options...
GSM Posted December 20, 2005 Author Share Posted December 20, 2005 (edited) So, is there a default or anything I could put there? (Edit1 doesn't work either) Is there a way to keep the game minimized though? (Trying to get it to run and not disturbe the user as he/she goes about thier business) Edited December 20, 2005 by GSM Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted December 20, 2005 Moderators Share Posted December 20, 2005 If the game activates itself automatically, then 'ControlSend()' won't work unless you are sending a specific command that that game has set for a hotkey to minimize. ControlSending keys to a minimized game without a control id in theory would work sometimes, like cameronsdad, I've yet to duplicate this. Does the applications you want to send to, not have a control id for any area? There is also a udf called ControlSendPlus() ... Although I'm not entirely sure what it does to be honest, it may be worth doing a search for. Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
GSM Posted December 20, 2005 Author Share Posted December 20, 2005 Right, well I have no idea what the ControlIDs would be or how to find out what they are... Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted December 20, 2005 Moderators Share Posted December 20, 2005 There's a very cool tool that comes with AutoIt... it's called AutoInfo. That will give you all kinds of information. Start >> All Programs >> Autoit v3 >> Auto Window Info Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
GSM Posted December 20, 2005 Author Share Posted December 20, 2005 I tried the Auto Window Info but nothing shows up for the Control ID. = / I also looked for ControlSendPlus() but I can't find the download for it, I mean I found it but it doesn't work. Link to comment Share on other sites More sharing options...
madmax Posted January 24, 2007 Share Posted January 24, 2007 I have been looking for a way to send all keystrokes to a specific window when it is not active and I have not been able to get it to work. I have tried the ControlSend() function with no control Id and the function works but not when the window is no longer the active window. I have been searching all over the fourms to see if anyone has found a way to do this, and I have read the autoit help file up and down Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted January 24, 2007 Moderators Share Posted January 24, 2007 (edited) I have been looking for a way to send all keystrokes to a specific window when it is not active and I have not been able to get it to work. I have tried the ControlSend() function with no control Id and the function works but not when the window is no longer the active window. I have been searching all over the fourms to see if anyone has found a way to do this, and I have read the autoit help file up and down @madmaxAre you pulling up every game botting thread that had suggested that you may not be able to automate, and posting in it? Edited January 24, 2007 by SmOke_N Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
madmax Posted January 25, 2007 Share Posted January 25, 2007 (edited) @madmaxAre you pulling up every game botting thread that had suggested that you may not be able to automate, and posting in it?I have been reading all botting threads. Not sure what you are getting at or how your comment has anything to do with what has been asked in this thread. But yes I have been posting in bot threads. I have created my bot and it is working fine. I just want to find a way to send keystrokes to the window when it is not active. This is for the case of ppl running the game in window mode.I guess I will keep making the window active for now. But I want to find a way to send to non-active windows.Thx Edited January 25, 2007 by madmax Link to comment Share on other sites More sharing options...
madmax Posted January 27, 2007 Share Posted January 27, 2007 @madmaxAre you pulling up every game botting thread that had suggested that you may not be able to automate, and posting in it?Were you suggesting, I go post in all bot threads and see if I find someone who has figured out how to do the action I want to do? If so, I am sorry didn't mean to be asmart ass Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted January 27, 2007 Moderators Share Posted January 27, 2007 I have been reading all botting threads. Not sure what you are getting at or how your comment has anything to do with what has been asked in this thread. But yes I have been posting in bot threads. I have created my bot and it is working fine. I just want to find a way to send keystrokes to the window when it is not active. This is for the case of ppl running the game in window mode.I guess I will keep making the window active for now. But I want to find a way to send to non-active windows.ThxWouldn't making your own thread make more sense then running through every botting post that had a specific question asked that you want to know the answer to, and posting to it? That's no better than spamming.Were you suggesting, I go post in all bot threads and see if I find someone who has figured out how to do the action I want to do? If so, I am sorry didn't mean to be asmart ass Smart ass? I took it quite the opposite! See ... someone smart wouldn't be bringing up 13 month old posts. Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
AzKay Posted January 27, 2007 Share Posted January 27, 2007 (edited) He wouldnt be suggesting, Note, The question mark. Edited January 27, 2007 by AzKay # MY LOVE FOR YOU... IS LIKE A TRUCK- # 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