Click to See Complete Forum and Search --> : Registry


Eric Stolten
May 8th, 1999, 04:24 PM
Does anybody have some source i can look at pertaining to the use of the registry for creating keys and stuff?
if so please email me
eric

Jason Brooks
May 8th, 1999, 08:23 PM
Here's A code snippet from some of my source.

Regards
jason

http://www.netcomuk.co.uk/~jbrooks

void setRegistryValues(void)
{
char temp[200];
// Set up Initial Values.
RegSetValueEx(hRegKey,"PlayerSpeed",0,
REG_BINARY,
(LPBYTE)&g_bPlayerFast, sizeof(BOOL));
RegSetValueEx(hRegKey,"Sounds",0,
REG_BINARY,
(LPBYTE)&g_bSound, sizeof(BOOL));
RegSetValueEx(hRegKey,"BallSpeed",0,
REG_BINARY,
(LPBYTE)&g_bBallFast, sizeof(BOOL));
RegSetValueEx(hRegKey,"EnemySpeed",0,
REG_BINARY,
(LPBYTE)&g_bEnemyFast, sizeof(BOOL));
RegSetValueEx(hRegKey,"BonusLife",0,
REG_BINARY,
(LPBYTE)&g_iBonusLife, sizeof(int));
RegSetValueEx(hRegKey,"RespawnFlag",0,
REG_BINARY,
(LPBYTE)&g_bRespawn_Flag, sizeof(BOOL));
RegSetValueEx(hRegKey,"RespawnTime",0,
REG_BINARY,
(LPBYTE)&g_iRespawnTime, sizeof(int));
RegSetValueEx(hRegKey,"PlayerName",0,
REG_SZ,
(LPBYTE)&Player_Name, strlen(Player_Name)+1);

for(int i=0;i<10;i++)
{
wsprintf(temp,"PlayerName%02d",i+1);

RegSetValueEx(hRegKey,temp,0,
REG_SZ,
(LPBYTE)&highScoreNames[i], strlen(highScoreNames[i])+1);

wsprintf(temp,"PlayerScore%02d",i+1);

RegSetValueEx(hRegKey,temp,0,
REG_BINARY,
(LPBYTE)&highScores[i], sizeof(long));
}
}

void writeRegistryValues(void)
{
unsigned long result;
// char temp[200];

RegCreateKeyEx(HKEY_CURRENT_USER,
"Software\\Games\\Ballistyx",
0,"Config",0, KEY_ALL_ACCESS,
NULL, &hRegKey, &result);

if(result==REG_CREATED_NEW_KEY)
{
setRegistryValues();
}
else
{
setRegistryValues();
}
RegCloseKey(hRegKey);
}

void readRegistryValues(void)
{
char temp[200];

//Assume required key is open.
unsigned long datasize,datatype;

datasize=sizeof(BOOL);
RegQueryValueEx(hRegKey,"PlayerSpeed",NULL,
&datatype,
(LPBYTE)&g_bPlayerFast, &datasize);

datasize=sizeof(BOOL);
RegQueryValueEx(hRegKey,"BallSpeed",NULL,
&datatype,
(LPBYTE)&g_bBallFast, &datasize);

datasize=sizeof(BOOL);
RegQueryValueEx(hRegKey,"EnemySpeed",NULL,
&datatype,
(LPBYTE)&g_bEnemyFast, &datasize);

datasize=sizeof(int);
RegQueryValueEx(hRegKey,"BonusLife",NULL,
&datatype,
(LPBYTE)&g_iBonusLife, &datasize);

datasize=sizeof(BOOL);
RegQueryValueEx(hRegKey,"RespawnFlag",NULL,
&datatype,
(LPBYTE)&g_bRespawn_Flag, &datasize);

datasize=sizeof(int);
RegQueryValueEx(hRegKey,"RespawnTime",NULL,
&datatype,
(LPBYTE)&g_iRespawnTime, &datasize);

datasize=30;
RegQueryValueEx(hRegKey,"PlayerName",NULL,
&datatype,
(LPBYTE)&Player_Name, &datasize);

for(int i=0;i<10;i++)
{
wsprintf(temp,"PlayerName%02d",i+1);

datasize=40;
RegQueryValueEx(hRegKey,temp,NULL,
&datatype,
(LPBYTE)&highScoreNames[i], &datasize);

wsprintf(temp,"PlayerScore%02d",i+1);

datasize=sizeof(long);
RegQueryValueEx(hRegKey,temp,NULL,
&datatype,
(LPBYTE)&highScores[i], &datasize);
}

datasize=sizeof(BOOL);
RegQueryValueEx(hRegKey,"Sounds",NULL,
&datatype,
(LPBYTE)&g_bSound, &datasize);

}
void getHighScoresFromRegistry(void)
{
unsigned long result;//,datatype,datasize;
// char temp[200];

RegCreateKeyEx(HKEY_CURRENT_USER,
"Software\\Games\\Ballistyx",
0,"Config",0, KEY_ALL_ACCESS,
NULL, &hRegKey, &result);

if(result==REG_CREATED_NEW_KEY)
{
setRegistryValues();
}
else
{
readRegistryValues();
}

RegCloseKey(hRegKey);
}