bobchernow Posted January 26, 2009 Share Posted January 26, 2009 Quick question. How do you control which monitor a MsgBox will pop up on. Most normal windows popup where the mouse/focus is. The MsgBox seems to always go to the Default desktop monitor. Bob Chernow --------------------bobchernow, Bob ChernowWhat a long strange trip it's beenUDFs: [post="635594"]Multiple Monitor Screen Resolution Change[/post] Link to comment Share on other sites More sharing options...
Malkey Posted January 27, 2009 Share Posted January 27, 2009 Quick question. How do you control which monitor a MsgBox will pop up on. Most normal windows popup where the mouse/focus is. The MsgBox seems to always go to the Default desktop monitor.Bob ChernowThe last optional parameter of MsgBox() is a window handle to use as a parent for the MsgBox().Entering a window handle into the MsgBox() parameter, causes the MsgBox to pop-up on the window with that handle. Link to comment Share on other sites More sharing options...
bobchernow Posted January 27, 2009 Author Share Posted January 27, 2009 The last optional parameter of MsgBox() is a window handle to use as a parent for the MsgBox().Entering a window handle into the MsgBox() parameter, causes the MsgBox to pop-up on the window with that handle.Thanks for the suggestion. I just tried it but it does not seem to affect the window. I am sure it probably is making the window the parent, but it still comes up smack dab in the center of the first monitor. Here is the code.#AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 Opt('MustDeclareVars', 1) #include <WinAPI.au3> MsgBox(4096, "Handle", "Get Foreground Window: " & _WinAPI_GetForegroundWindow(),_WinAPI_GetForegroundWindow())Bob Chernow --------------------bobchernow, Bob ChernowWhat a long strange trip it's beenUDFs: [post="635594"]Multiple Monitor Screen Resolution Change[/post] Link to comment Share on other sites More sharing options...
monoceres Posted January 27, 2009 Share Posted January 27, 2009 Maybe try something different?http://www.autoitscript.com/forum/index.ph...2&hl=MsgBox Broken link? PM me and I'll send you the file! Link to comment Share on other sites More sharing options...
Malkey Posted January 27, 2009 Share Posted January 27, 2009 Thanks for the suggestion. I just tried it but it does not seem to affect the window. I am sure it probably is making the window the parent, but it still comes up smack dab in the center of the first monitor. Here is the code.#AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 Opt('MustDeclareVars', 1) #include <WinAPI.au3> MsgBox(4096, "Handle", "Get Foreground Window: " & _WinAPI_GetForegroundWindow(),_WinAPI_GetForegroundWindow())Bob ChernowThe last parameter in MsgBox() is the fifth parameter. You have the Window handle as the timeout value.TryMsgBox(4096, "Handle", "Get Foreground Window: " & _WinAPI_GetForegroundWindow(), 0, _WinAPI_GetForegroundWindow()) Link to comment Share on other sites More sharing options...
bobchernow Posted January 27, 2009 Author Share Posted January 27, 2009 The last parameter in MsgBox() is the fifth parameter. You have the Window handle as the timeout value.TryMsgBox(4096, "Handle", "Get Foreground Window: " & _WinAPI_GetForegroundWindow(), 0, _WinAPI_GetForegroundWindow())Well, I probably am still doing something wrong, but it does not work as the fifth parm either. At least not for me. But the UDF in the previous post seems to work just fine. Seems like a lot of code but I imagine most of that is for the scrollbars. It will serve me for now, until I can figure out an easier way if possible.Thanks to all of you. I hope to start contributing more that I ask, as soon as I can.Bob --------------------bobchernow, Bob ChernowWhat a long strange trip it's beenUDFs: [post="635594"]Multiple Monitor Screen Resolution Change[/post] Link to comment Share on other sites More sharing options...
bobchernow Posted January 27, 2009 Author Share Posted January 27, 2009 Well, I probably am still doing something wrong, but it does not work as the fifth parm either. At least not for me. But the UDF in the previous post seems to work just fine. Seems like a lot of code but I imagine most of that is for the scrollbars. It will serve me for now, until I can figure out an easier way if possible.Thanks to all of you. I hope to start contributing more that I ask, as soon as I can.BobMea Culpa,The Hwnd in the last parm does work. It just was not doing what I expected it to do. Last night when I was testing the change I only had a single monitor attached and was expecting the msgbox to pop up relative to the active window. I tested with windows in all sorts of screen locations and it always popped dead center in the screen so I ASSUMED it was not working. This morning I tried it with both monitors and it does show on the correct monitor now. Still in the screen center, but on the correct monitor. That is great. Thanks to all.Bob (newbie) --------------------bobchernow, Bob ChernowWhat a long strange trip it's beenUDFs: [post="635594"]Multiple Monitor Screen Resolution Change[/post] 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