From c3bc5440d5670189952f7bfd4449bd197c56195e Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Thu, 16 Oct 2003 08:56:58 +0000 Subject: [PATCH] add RestartProgram --- stepmania/src/StepMania.vcproj | 6 ++++ .../src/archutils/Win32/RestartProgram.cpp | 29 +++++++++++++++++++ .../src/archutils/Win32/RestartProgram.h | 6 ++++ 3 files changed, 41 insertions(+) create mode 100644 stepmania/src/archutils/Win32/RestartProgram.cpp create mode 100644 stepmania/src/archutils/Win32/RestartProgram.h diff --git a/stepmania/src/StepMania.vcproj b/stepmania/src/StepMania.vcproj index 37538ffba2..1ada4c3225 100644 --- a/stepmania/src/StepMania.vcproj +++ b/stepmania/src/StepMania.vcproj @@ -998,6 +998,12 @@ cl /Zl /nologo /c verstub.cpp /Fo"$(IntDir)"\ + + + + diff --git a/stepmania/src/archutils/Win32/RestartProgram.cpp b/stepmania/src/archutils/Win32/RestartProgram.cpp new file mode 100644 index 0000000000..acff6b9c92 --- /dev/null +++ b/stepmania/src/archutils/Win32/RestartProgram.cpp @@ -0,0 +1,29 @@ +#include "global.h" +#include "RestartProgram.h" + +void Win32RestartProgram() +{ + TCHAR szFullAppPath[MAX_PATH]; + GetModuleFileName(NULL, szFullAppPath, MAX_PATH); + + // Launch StepMania + PROCESS_INFORMATION pi; + STARTUPINFO si; + ZeroMemory( &si, sizeof(si) ); + CreateProcess( + NULL, // pointer to name of executable module + szFullAppPath, // pointer to command line string + NULL, // process security attributes + NULL, // thread security attributes + false, // handle inheritance flag + 0, // creation flags + NULL, // pointer to new environment block + NULL, // pointer to current directory name + &si, // pointer to STARTUPINFO + &pi // pointer to PROCESS_INFORMATION + ); + + ExitProcess( 0 ); + + /* not reached */ +} diff --git a/stepmania/src/archutils/Win32/RestartProgram.h b/stepmania/src/archutils/Win32/RestartProgram.h new file mode 100644 index 0000000000..a0555aed73 --- /dev/null +++ b/stepmania/src/archutils/Win32/RestartProgram.h @@ -0,0 +1,6 @@ +#ifndef RESTART_PROGRAM_H +#define RESTART_PROGRAM_H + +void Win32RestartProgram(); + +#endif