From 3cb84a61b538d1f598df2b97c4c6cd653b5e2d8f Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Thu, 4 May 2006 05:13:06 +0000 Subject: [PATCH] add GetMachineId --- stepmania/src/arch/ArchHooks/ArchHooks.h | 5 +++++ stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp | 11 +++++++++++ stepmania/src/arch/ArchHooks/ArchHooks_Win32.h | 1 + 3 files changed, 17 insertions(+) diff --git a/stepmania/src/arch/ArchHooks/ArchHooks.h b/stepmania/src/arch/ArchHooks/ArchHooks.h index e40b733312..b028d4f536 100644 --- a/stepmania/src/arch/ArchHooks/ArchHooks.h +++ b/stepmania/src/arch/ArchHooks/ArchHooks.h @@ -24,6 +24,11 @@ public: */ static RString GetPreferredLanguage(); + /* + * A string that uniquely identifies the machine in some way + */ + virtual RString GetMachineId() { return RString(); } + /* * If this is a second instance, return true. Optionally, give focus to the existing * window. diff --git a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp index 67b7ff4640..4e8e301c22 100644 --- a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp +++ b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp @@ -9,6 +9,7 @@ #include "archutils/win32/DebugInfoHunt.h" #include "archutils/win32/RestartProgram.h" #include "archutils/win32/GotoURL.h" +#include "archutils/Win32/RegistryAccess.h" static HANDLE g_hInstanceMutex; static bool g_bIsMultipleInstance = false; @@ -72,6 +73,16 @@ static BOOL CALLBACK GetEnabledPopup( HWND hWnd, LPARAM lParam ) return FALSE; } +static const RString CURRENT_VERSION_KEY = "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion"; + +RString ArchHooks_Win32::GetMachineId() +{ + RString s; + if( RegistryAccess::GetRegValue( CURRENT_VERSION_KEY, "ProductID", s ) ) + return s; + return RString(); +} + bool ArchHooks_Win32::CheckForMultipleInstances() { if( !g_bIsMultipleInstance ) diff --git a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.h b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.h index 0eb5a05367..32068ca461 100644 --- a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.h +++ b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.h @@ -12,6 +12,7 @@ public: RString GetArchName() { return "Windows"; } void DumpDebugInfo(); void RestartProgram(); + RString GetMachineId(); bool CheckForMultipleInstances(); int OldThreadPriority;