Jump to content
LaunchBox Community Forums

Help with AHK for 3rd screen

Recommended Posts

I am working on a cab build running big box that has a main screen, marquee screen, and a 3rd screen on the CP.  I currently plan to have the 2nd and 3rd screen displaying the same image (marquee) since there isn't any additional built in support to Big Box (this in itself will probably be an issue since the 2 screens are different aspect ratios).  I am working on an AHK to have the third screen show a different image.  Are there any gurus out there that have already done this?  I see the 3rd screen question come up in the forums but haven't really seen any solutions out there.  I am a complete noob on any level of programing or scripts writing but am putting in the effort to try to learn.  Just thought if there was someone out there with a start or a direction to point me in could help a lot.

I would love to have it set up to auto run the arcade controls image when selecting / starting a game.  

If its something I get working I will most definitely share.

Link to post
Share on other sites
2 hours ago, ZXman1000 said:

a start or a direction to point me in

Install AutoHotKey:D  It doesn't have a built in editor, but any text editing program works.  Notepad++ is always highly recommended. 

With AHK, I haven't seen a way to open a program (i.e. Paint or Photos) to a specific "monitor" (i.e. monitor #3).  On the same token, you can't move a 'window' to a specific monitor # either.  I think how it needs to be done with AHK is to open the image, then move the 'window' to the coordinates of the 3rd monitor (and then maybe Maximize the window.

2 hours ago, ZXman1000 said:

am putting in the effort to try to learn.

To get you started, you'll want the 'coordinates' of the 3 (actually just the 3rd) monitors.  You can use SysGet for this.

SysGet, MonitorCount, MonitorCount
SysGet, MonitorPrimary, MonitorPrimary
MsgBox, Monitor Count:`t%MonitorCount%`nPrimary Monitor:`t%MonitorPrimary%
Loop, %MonitorCount%
    SysGet, MonitorName, MonitorName, 2
    SysGet, Monitor, Monitor, %A_Index%
    SysGet, MonitorWorkArea, MonitorWorkArea, %A_Index%
    MsgBox, Monitor:`t#%A_Index%`nName:`t%MonitorName%`nLeft:`t%MonitorLeft% (%MonitorWorkAreaLeft% work)`nTop:`t%MonitorTop% (%MonitorWorkAreaTop% work)`nRight:`t%MonitorRight% (%MonitorWorkAreaRight% work)`nBottom:`t%MonitorBottom% (%MonitorWorkAreaBottom% work)

When you run this (via AutoHotKey), you'll get 1 plus the_#_of_monitors_you_have popup messages.  I have 2 monitors, so I get 3 messages.

image.png.9547950685b67580dd7d7ef105387185.pngimage.png.b06760b0c9ad26cf2e5f117fc1b97ae0.pngimage.png.b44adc58bdd53bcd418facaf32347c11.pngHere, my Primary monitor (#1) is a 1920 x 1080.  My 2nd monitor (#2) is a 1280 x 1024 (don't ask. lol)  and is LEFT of the Primary monitor (that's why its' coordinate is a negative number).

WinMove is the next command you'll want to read up on.

So if I wanted to move the "Notepad.exe" window to the upper left-hand corner of Monitor #2 and then Maximize that window to fullscreen

SetTitleMatchMode, 2
WinMove, Notepad,, -1280, 0
WinMaximize, Notepad

SetTitleMatch, 2 is used here to look for a window that "contains" the specified WinTitle parameter.  "Notepad" in this case.  If you open a new instance of Notepad, you will see that the actual WinTitle is "Untitled - Notepad".

Play around with all this, study and learn, and when you get really stuck, feel free to ask.  Again, this'll get you started.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...