diff --git a/zsnes/src/win/winlink.cpp b/zsnes/src/win/winlink.cpp index 36ab7da1..dfb1f7bc 100644 --- a/zsnes/src/win/winlink.cpp +++ b/zsnes/src/win/winlink.cpp @@ -193,6 +193,7 @@ BOOL InputDeAcquire(void) extern "C" { unsigned char keyboardhit=0; void initwinvideo(); +void DosExit(); extern BYTE StereoSound; extern DWORD SoundQuality; extern BYTE ExclusiveSound; @@ -200,6 +201,7 @@ extern BYTE HighPriority; extern BYTE AlwaysOnTop; extern BYTE SaveMainWindowPos; extern BYTE AlternateTimer; +extern BYTE AllowMultipleInst; extern signed short int MainWindowX; extern signed short int MainWindowY; extern int CurKeyPos; @@ -462,6 +464,18 @@ LRESULT CALLBACK Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) int RegisterWinClass(void) { + if (AllowMultipleInst == 0) + { + HWND hFindWindow; + hFindWindow = FindWindow("ZSNESWIN", NULL); + + if (hFindWindow != NULL) + { + SetForegroundWindow(hFindWindow); + DosExit(); + } + } + WNDCLASS wcl; wcl.style = CS_OWNDC | CS_HREDRAW | CS_VREDRAW | CS_NOCLOSE ; diff --git a/zsnes/src/win/zloaderw.c b/zsnes/src/win/zloaderw.c index f2907322..3217ed11 100644 --- a/zsnes/src/win/zloaderw.c +++ b/zsnes/src/win/zloaderw.c @@ -38,7 +38,7 @@ extern unsigned char Palette0, SPC700sh, OffBy1Line, DSPDisable, romtype, scanlines, showallext, smallscreenon, soundon, spcon, vsyncon, DisplayS, fname, filefound, SnowOn, NetChatFirst,NetServer,NetNewNick, - NetFilename,GUINetTextk2,NetQuitAfter,UDPConfig,AllowMultipleInst; + NetFilename,GUINetTextk2,NetQuitAfter,UDPConfig; void ccmdline(void); @@ -81,18 +81,6 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdSh hInst=hInstance; - if (AllowMultipleInst == 0) - { - HWND hFindWindow; - hFindWindow = FindWindow("ZSNESWIN", NULL); - - if (hFindWindow != NULL) - { - SetForegroundWindow(hFindWindow); - DosExit(); - } - } - // Commandline: /ABCDE // nickname = user nickname // fname = filename w/ full path (if L) or path name (if C)