Gar Posted February 4, 2008 Posted February 4, 2008 This seems to be a common question on the forum, and there is never a useable answer. A few people seem to post "I got it working!" but never say how. How do I simulate a Send() to an inactive window without it gaining focus? There are no useable controls. ControlSend using its window handle and window process hasn't worked (as there are no controls to send it to). I've seen reference to DllCalls, but I don't know how these work. This is the closest I've come to having it send the 'up' key: DllCall("user32.dll", "int", "SendMessageA", "hwnd", $winHandle, "int", 0x100, "int", 0x26, "int", 0x1480001) Unfortunately, this does nothing. Can anyone point me in the right direction?
TunaSalad Posted February 4, 2008 Posted February 4, 2008 What you mean by "There are no useable controls"? Why crabs don't give money to charity..... because they are shell-fish!! PS: Don't be a crab and share your scripts with the community! ;-)
Gar Posted February 4, 2008 Author Posted February 4, 2008 What you mean by "There are no useable controls"?I mean that the window has no control objects for ControlSend to target. I need a Send directed specifically at "the window", which is also inactive.
SpookMeister Posted February 4, 2008 Posted February 4, 2008 (edited) Would a suitable workaround be to make it active, do a Send(), then got back to the previous window? Edited February 4, 2008 by SpookMeister [u]Helpful tips:[/u]If you want better answers to your questions, take the time to reproduce your issue in a small "stand alone" example script whenever possible. Also, make sure you tell us 1) what you tried, 2) what you expected to happen, and 3) what happened instead.[u]Useful links:[/u]BrettF's update to LxP's "How to AutoIt" pdfValuater's Autoit 1-2-3 Download page for the latest versions of Autoit and SciTE[quote]<glyph> For example - if you came in here asking "how do I use a jackhammer" we might ask "why do you need to use a jackhammer"<glyph> If the answer to the latter question is "to knock my grandmother's head off to let out the evil spirits that gave her cancer", then maybe the problem is actually unrelated to jackhammers[/quote]
Gar Posted February 4, 2008 Author Posted February 4, 2008 Would a suitable workaround be to make it active, do a Send(), then got back to the previous window?No, because I want it to remain inactive.
Gar Posted February 4, 2008 Author Posted February 4, 2008 I've been trying to figure this out for months now. Look up my posts, it's true. Can't anybody offer a solution?
Hare Posted July 18, 2008 Posted July 18, 2008 please refer to code below. CODE Run("notepad.exe") Run("cmd.exe") WinActive("Untitled - Notepad") Sleep( 500) ControlSend("C:\WINDOWS\system32\cmd.exe" , "",0, "inactive command window") Send("active notepad window") When i use command prompt, it is working remaning inactive. but i dont't know what's the meaning of 0 at the ControlSend function.
namauto Posted August 28, 2008 Posted August 28, 2008 please refer to code below.CODERun("notepad.exe")Run("cmd.exe")WinActive("Untitled - Notepad")Sleep( 500)ControlSend("C:\WINDOWS\system32\cmd.exe" , "",0, "inactive command window")Send("active notepad window")When i use command prompt, it is working remaning inactive.Is there a way to make this work with commands like Send("^o")?Thanks!
Moderators SmOke_N Posted August 28, 2008 Moderators Posted August 28, 2008 Try controlsend with a blank control id parameter. 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.
_Kurt Posted August 28, 2008 Posted August 28, 2008 Try this: MinimizedWindowFuncs.au3 Kurt Awaiting Diablo III..
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