Re: [email] RE: Restarting game exe

"Dan Thompson" <[email protected]> Wed, 8 Sep 2004 19:30:07 -0700
Newsgroups gmane.games.devel.windows
Message-ID <023e01c49614$ec194d50$6500a8c0@gunvulture>
Ah, I knew something smelled fishy when I wrote that. Musta been pulling
from the olden days.


----- Original Message ----- 
From: "Grills, Jeff" <[email protected]>
To: <[email protected]>
Sent: Wednesday, September 08, 2004 7:19 PM
Subject: RE: [email] RE: [GD-Windows] Restarting game exe



hPrevInstance is always NULL in Win32 based systems.

Our game creates a semaphore to know whether it's already running or
not.  You could check for it's existence, and block until it's gone (or
some timer expires).

HANDLE semaphore = CreateSemaphore(NULL, 0, 1,
"MyApplicationName");

j

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of
Dan Thompson
Sent: Wednesday, September 08, 2004 8:29 PM
To: [email protected]
Subject: Re: [email] RE: [GD-Windows] Restarting game exe


Haven't tried this, but I'm sure there's a way to spin on the previous
HINSTANCE that is passed in on WinMain - that is, if you are worried
about dual execution.

Something like
if (hPrevInstance != NULL)
{
    // Can't remember what to use to get the module handle.
    // You may be able to just straight up do
    WaitForSingleObject(hPrevInstance, 100 /*timeout in case the other
doesn't exit*/ );

    // But that doesn't feel right. (be sure to check for timeout, in
case the
    // user actually executed it twice
}

Something like that. There's probably a few steps to get the correct
handle to Wait() on.

-Dan

----- Original Message ----- 
From: "George Geczy (BattleGoat) (E-mail)" <[email protected]>
To: <[email protected]>
Sent: Wednesday, September 08, 2004 6:05 PM
Subject: [email] RE: [GD-Windows] Restarting game exe


> Yeah, CreateProcess() was on the list of possibles (that and
ShellExecute(),
> though the latter is not available in Win98).  It just seems a bit
kludgy -
> ie, for an unknown amount of time you have two instances of your game
> running, depending upon how Windows dishes out the execution.
>
> Maybe that's why I couldn't find a better way - there is no better way

> :-)
>
> -- George.
>
>
> - George Geczy
> - Lead Programmer, BattleGoat Studios
> - www.supremeruler2010.com
> - "Designing the Next Generation of Intelligent Strategy Games"
>
>
>
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]]On Behalf
> > Of Jon Watte
> > Sent: Wednesday, September 08, 2004 5:45 PM
> > To: [email protected]
> > Subject: RE: [GD-Windows] Restarting game exe
> >
> >
> >
> > Get your EXE path by getting the module path of your main module.
> >
> > Then use CreateProcess() to create the new process, and
> > ExitProcess() your
> > current process.
> >
> > If you're looking for "exec()" then there might be emulation of
> > that, but the basic NT kernel primitive is somewhat different, so it
> > won't be quite
> > what you'd be used to from UNIX.
> >
> > Cheers,
> >
> > / h+
> >
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by BEA Weblogic Workshop
> FREE Java Enterprise J2EE developer tools!
> Get your free copy of BEA WebLogic Workshop 8.1 today.
> http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
> _______________________________________________
> Gamedevlists-windows mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows
> Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=555
>



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
Gamedevlists-windows mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows
Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=555


-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_idP47&alloc_id808&op=ick
_______________________________________________
Gamedevlists-windows mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows
Archives:
http://sourceforge.net/mailarchive/forum.php?forum_idU5



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
Gamedevlists-windows mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows
Archives:
http://sourceforge.net/mailarchive/forum.php?forum_id=555