⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 registory.cpp

📁 日本的手持pda源码.wince下使用,完全开源
💻 CPP
字号:
#include "PocketGnuboy.h"
#include "wce.h"

#define	REG_KEY_GNUBOY				_T("Software\\PocketGnuboy")
#define REG_NAME_SAVEDIR			_T("SaveDir")
#define REG_NAME_VIDEO_FRAMESKIP	_T("VideoFrameSkip")
#define REG_NAME_VIDEO_SCREENMODE	_T("VideoScreenMode")
#define REG_NAME_AUDIO_ENABLE		_T("AudioEnable")
#define REG_NAME_AUDIO_STEREO		_T("AudioStereo")
#define REG_NAME_AUDIO_SAMPLERATE	_T("AudioSampleRate")
#define REG_NAME_AUDIO_16BITS		_T("Audio16Bits")
#define REG_NAME_AUDIO_BUFFERS		_T("AudioBuffers")
#define REG_NAME_VPAD				_T("VPad")
#define REG_NAME_THROTTLING			_T("SpeedThrottling")
#define REG_NAME_LCD_CONTRAST		_T("Contrast")
#define REG_NAME_SHOWFPS			_T("ShowFPS")
#define REG_NAME_DRAWSCREEN			_T("DrawScreen")
#define REG_NAME_GAPI				_T("GAPI")
#define REG_NAME_GSGETFILE			_T("gsGetFile.dll")
#define REG_NAME_LASTDIR			_T("LastDir")
#define REG_NAME_JOY_KEY			_T("JoyKey%d")

void LoadRegistory()
{
	HKEY hKey;
	DWORD dwValue, dwSize, dwType;
	TCHAR sz[MAX_PATH];
	char szDir[MAX_PATH];

	if (RegOpenKeyEx(HKEY_CURRENT_USER, REG_KEY_GNUBOY, 0, KEY_WRITE, &hKey) != ERROR_SUCCESS)
		return;

	dwSize = sizeof(char) * MAX_PATH;
	if (RegQueryValueEx(hKey, REG_NAME_SAVEDIR, 0, &dwType, (LPBYTE)szDir, &dwSize) == ERROR_SUCCESS)
		set_savedir(szDir);

	dwSize = sizeof(dwValue);
	if (RegQueryValueEx(hKey, REG_NAME_VIDEO_FRAMESKIP, 0, &dwType, (LPBYTE)&dwValue, &dwSize) == ERROR_SUCCESS)
		vid_set_frameskip(dwValue);

	if (RegQueryValueEx(hKey, REG_NAME_VIDEO_SCREENMODE, 0, &dwType, (LPBYTE)&dwValue, &dwSize) == ERROR_SUCCESS)
		vid_set_screenmode(dwValue);

	if (RegQueryValueEx(hKey, REG_NAME_AUDIO_ENABLE, 0, &dwType, (LPBYTE)&dwValue, &dwSize) == ERROR_SUCCESS)
		pcm_set_enable(dwValue);
	
	if (RegQueryValueEx(hKey, REG_NAME_AUDIO_STEREO, 0, &dwType, (LPBYTE)&dwValue, &dwSize) == ERROR_SUCCESS)
		pcm_set_stereo(dwValue);
	
	if (RegQueryValueEx(hKey, REG_NAME_AUDIO_SAMPLERATE, 0, &dwType, (LPBYTE)&dwValue, &dwSize) == ERROR_SUCCESS)
		pcm_set_samplerate(dwValue);

	if (RegQueryValueEx(hKey, REG_NAME_AUDIO_16BITS, 0, &dwType, (LPBYTE)&dwValue, &dwSize) == ERROR_SUCCESS)
		pcm_set_16bits(dwValue);

	if (RegQueryValueEx(hKey, REG_NAME_AUDIO_BUFFERS, 0, &dwType, (LPBYTE)&dwValue, &dwSize) == ERROR_SUCCESS)
		pcm_set_buffer_count(dwValue);

	if (RegQueryValueEx(hKey, REG_NAME_VPAD, 0, &dwType, (LPBYTE)&dwValue, &dwSize) == ERROR_SUCCESS)
		g_fVPad = dwValue;

	if (RegQueryValueEx(hKey, REG_NAME_THROTTLING, 0, &dwType, (LPBYTE)&dwValue, &dwSize) == ERROR_SUCCESS)
		g_fThrottling = dwValue;

	if (RegQueryValueEx(hKey, REG_NAME_LCD_CONTRAST, 0, &dwType, (LPBYTE)&dwValue, &dwSize) == ERROR_SUCCESS)
		lcd_set_contrast(dwValue);

	if (RegQueryValueEx(hKey, REG_NAME_SHOWFPS, 0, &dwType, (LPBYTE)&dwValue, &dwSize) == ERROR_SUCCESS)
		g_fShowFPS = dwValue;

	if (RegQueryValueEx(hKey, REG_NAME_DRAWSCREEN, 0, &dwType, (LPBYTE)&dwValue, &dwSize) == ERROR_SUCCESS)
		g_fDrawScreen = dwValue;

	if (RegQueryValueEx(hKey, REG_NAME_GAPI, 0, &dwType, (LPBYTE)&dwValue, &dwSize) == ERROR_SUCCESS)
		vid_set_gapi(dwValue);

	if (RegQueryValueEx(hKey, REG_NAME_GSGETFILE, 0, &dwType, (LPBYTE)&dwValue, &dwSize) == ERROR_SUCCESS)
		g_fGSGetFile = dwValue;

	for (int i = 0; i < JOY_MAX; i++) {
		wsprintf(sz, REG_NAME_JOY_KEY, i);
		if (RegQueryValueEx(hKey, sz, 0, &dwType, (LPBYTE)&dwValue, &dwSize) == ERROR_SUCCESS)
			joy_set_key(i, dwValue);
	}

	dwSize = sizeof(TCHAR) * MAX_PATH;
	if (RegQueryValueEx(hKey, REG_NAME_LASTDIR, 0, &dwType, (LPBYTE)sz, &dwSize) == ERROR_SUCCESS)
		_tcscpy(g_szLastDir, sz);

	RegCloseKey(hKey);
}

void SaveRegistory()
{
	HKEY hKey;
	DWORD dwDisposition, dwValue;
	TCHAR sz[MAX_PATH];
	char szDir[MAX_PATH];

	if (RegCreateKeyEx(HKEY_CURRENT_USER, REG_KEY_GNUBOY, 0, NULL, 
		REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, &dwDisposition) != ERROR_SUCCESS)
		return;

	get_savedir(szDir);
	RegSetValueEx(hKey, REG_NAME_SAVEDIR, 0, REG_BINARY, (LPBYTE)szDir, sizeof(char) * (strlen(szDir) + 1));
	dwValue = vid_get_frameskip();
	RegSetValueEx(hKey, REG_NAME_VIDEO_FRAMESKIP, 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(dwValue));
	dwValue = vid_get_screenmode();
	RegSetValueEx(hKey, REG_NAME_VIDEO_SCREENMODE, 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(dwValue));
	dwValue = pcm_get_enable();
	RegSetValueEx(hKey, REG_NAME_AUDIO_ENABLE, 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(dwValue));
	dwValue = pcm_get_stereo();
	RegSetValueEx(hKey, REG_NAME_AUDIO_STEREO, 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(dwValue));
	dwValue = pcm_get_samplerate();
	RegSetValueEx(hKey, REG_NAME_AUDIO_SAMPLERATE, 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(dwValue));
	dwValue = pcm_get_16bits();
	RegSetValueEx(hKey, REG_NAME_AUDIO_16BITS, 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(dwValue));
	dwValue = pcm_get_buffer_count();
	RegSetValueEx(hKey, REG_NAME_AUDIO_BUFFERS, 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(dwValue));
	dwValue = g_fVPad;
	RegSetValueEx(hKey, REG_NAME_VPAD, 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(dwValue));
	dwValue = g_fThrottling;
	RegSetValueEx(hKey, REG_NAME_THROTTLING, 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(dwValue));
	dwValue = lcd_get_contrast();
	RegSetValueEx(hKey, REG_NAME_LCD_CONTRAST, 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(dwValue));
	dwValue = g_fShowFPS;
	RegSetValueEx(hKey, REG_NAME_SHOWFPS, 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(dwValue));
	dwValue = g_fDrawScreen;
	RegSetValueEx(hKey, REG_NAME_DRAWSCREEN, 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(dwValue));
	dwValue = vid_get_gapi();
	RegSetValueEx(hKey, REG_NAME_GAPI, 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(dwValue));
	dwValue = g_fGSGetFile;
	RegSetValueEx(hKey, REG_NAME_GSGETFILE, 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(dwValue));

	for (int i = 0; i < JOY_MAX; i++) {
		wsprintf(sz, REG_NAME_JOY_KEY, i);
		dwValue = joy_get_key(i);
		RegSetValueEx(hKey, sz, 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(dwValue));
	}

	RegSetValueEx(hKey, REG_NAME_LASTDIR, 0, REG_SZ, (LPBYTE)g_szLastDir, sizeof(TCHAR) * (_tcslen(g_szLastDir) + 1));

	RegCloseKey(hKey);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -