レジストリ・エントリの作成と削除
//レジストリ・キーの作成
void CRegAddEntryDlg::OnButton1()
{
HKEY RegKey;
DWORD dwDisposition;
char cData[256];
DWORD cbData;
//レジストリ・キーを開く
LONG Result = RegCreateKeyEx(HKEY_CURRENT_USER,
"Software\\TEST",0 ,NULL, REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS, NULL , &RegKey, &dwDisposition);
if(Result == ERROR_SUCCESS){
//--------------------------------------
//エントリを作成する
strcpy(cData, "TEST");
cbData = 256;
LONG Result = RegSetValueEx(RegKey, "Name", 0, REG_SZ,
(const unsigned char*)cData, cbData);
if(Result == ERROR_SUCCESS){
AfxMessageBox("エントリを作成しました。");
}
else{
AfxMessageBox("エントリの作成に失敗しました。");
}
//レジストリを閉じる
RegCloseKey(RegKey);
}
}
//エントリを削除する
void CRegAddEntryDlg::OnButton3()
{
HKEY RegKey;
//レジストリのキーを開く
LONG Result = RegOpenKeyEx(HKEY_CURRENT_USER,
"Software\\TEST",0 ,KEY_ALL_ACCESS , &RegKey);
if( Result == ERROR_SUCCESS){
//エントリを削除する
LONG Result = RegDeleteValue(RegKey, "Name");
if(Result == ERROR_SUCCESS){
AfxMessageBox("エントリの削除に成功しました。");
}
else{
AfxMessageBox("エントリの削除に失敗しました。");
}
}
}
//レジストリ・キーの削除
void CRegAddEntryDlg::OnButton2()
{
//レジストリ・キー(HKEY_CURRENT_USER\\Software\\TEST)を削除
LONG Result = RegDeleteKey(HKEY_CURRENT_USER, "Software\\TEST");
if(Result == ERROR_SUCCESS){
AfxMessageBox("キーを正常に削除しました。");
}
else{
AfxMessageBox("キーを削除できませんでした。");
}
}