Update: After some additional testing:
PCSX2 - works fine but requires 2 presses of the Hold/Close combination to completely shut the emulator, once to exit fullscreen, then again to shut the emu. No big deal but thought you might like to know.
MAME - Close combination not working, I didn't notice at first because I have the exact same closing string in Mame itself. Because you can set it through the Mame config, it negates the need for AHK ... again, no big deal.
EPSXE - Closes the main window but leaves the exe running, this is probably the only one that's an actual problem.
NullDC, Kega Fusion, Snes9x, PPSSPP, Dolphin, Project64, Nestopia, SSF all fine. I still have Vice, Winuae, Stella, Model 2 Emulator, and a couple of others to test, will report in when done.
A slightly larger problem I discovered is when in BigBox mode if you use the Hold/Show Launchbox combination it throws up this error:
System.IO.IOException: The process cannot access the file 'C:\Users\Jason Bourne\AppData\Local\Temp\AutoHotkey.Interop\x64\AutoHotkey.dll' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at AutoHotkey.Interop.Util.ExtractEmbededResourceToFile(Assembly assembly, String embededResourcePath, String targetFileName)
at AutoHotkey.Interop.Util.c__DisplayClass6_0.b__0(String relativePath)
at AutoHotkey.Interop.Util.LoadAutoHotKeyDll()
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at AutoHotkey.Interop.AutoHotkeyEngine..ctor()
at LaunchBox.AutoHotkey.InitializeController(Boolean enabled, Int32 holdButton, Int32 closeButton, Int32 startButton, Int32 volumeDownButton, Int32 volumeUpButton)
at LaunchBox.Forms.MainForm.MainForm_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at LaunchBox.Forms.CustomFormBase.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Seems to occur on any emulator.
Sorry if I was a bit over-enthusiastic with my earlier post I was just pumped that you got it working, Still super happy with the progress you've made though,
Thx again