/*============================================================
* 分支功能:备份注册表
* 参 数:-save RootKey SubKey Filename
* 参数说明:命令 根键 子键 文件名
* 抛出异常:操作失败,提示信息。
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
if( 0 == (strcmp(argv[1], "-save")) )
{
if( 5 == argc )
{
CRegOperator reg;
bReturn = reg.SetHKEY(argv[2]);
if( FALSE == bReturn )
{
cout << "The Key [" << argv[2] << "] set fail!" << endl;
return 0;
}
bReturn = reg.OpenKey(argv[3]);
if( FALSE == bReturn )
{
cout << "Open [" << argv[3] << "] fail!" << endl;
return 0;
}
bReturn = reg.SaveKey( argv[4] );
if( FALSE == bReturn )
{
cout << "Save the [" << argv[4] << "] fail!" << endl;
return 0;
}
cout << "Save [" << argv[4] << "] value from [" << argv[3] << "] successfully!" << endl;
return 0;
}
else
{
cout << "Warning:Must have four param with \'-save\' option!" << endl;
return 0;
}
}
/*============================================================
* 分支功能:恢复注册表
* 参 数:-restore RootKey Filename
* 参数说明:命令 根键 文件名
* 抛出异常:操作失败,提示信息。
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
if( 0 == (strcmp(argv[1], "-restore")) )
{
if(4 == argc )
{
CRegOperator reg;
bReturn = reg.SetHKEY(argv[2]);
if( FALSE == bReturn )
{
cout << "The Key [" << argv[2] << "] set fail!" << endl;
return 0;
}
bReturn = reg.RestoreKey( argv[3] );
if( FALSE == bReturn )
{
cout << "Restore from [" << argv[3] << "] fail!" << endl;
return 0;
}
cout << "Restore [" << argv[2] << "] value from file [" << argv[3] << "] successfully!" << endl;
return 0;
}
else
{
cout << "Warning:Must have three param with \'-restore\' option!" << endl;
return 0;
}
}
/*============================================================
* 分支功能:版主信息
* 参 数:-h [-help]
* 参数说明:命令
* 抛出异常:操作失败,提示信息。
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
if( ( 0 == strcmp( argv[1], "-h" ) ) || ( 0 == strcmp( argv[1], "-help" ) ) )
{
RegOperatorHelp();
return 0;
}
cout << "Error param! Please execute [" << argv[0] << "] or [" << argv[0] << " -h] to get help!" << endl;
return 0;
}
void RegOperatorHelp()
{
cout << " * 作 者:RainLeaf, 2009年4月10日" << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:读取键值" << endl;
cout << "* 参 数:-read RootKey SubKey ValueName" << endl;
cout << "* 参数说明:命令 根键 子键 值的名字" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:创建子键" << endl;
cout << "* 参 数:-create RootKey SubKey" << endl;
cout << "* 参数说明:命令 根键 子键" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:创建键值" << endl;
cout << "* 参 数:-write RootKey SubKey ValueName Value" << endl;
cout << "* 参数说明:命令 根键 子键 值的名字 值" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:删除键值" << endl;
cout << "* 参 数:-delval RootKey SubKey ValueName" << endl;
cout << "* 参数说明:命令 根键 子键 值的名字" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:删除非空子键" << endl;
cout << "* 参 数:-delkey RootKey SubKey" << endl;
cout << "* 参数说明:命令 根键 子键" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:备份注册表" << endl;
cout << "* 参 数:-save RootKey SubKey Filename" << endl;
cout << "* 参数说明:命令 根键 子键 文件名" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:恢复注册表" << endl;
cout << "* 参 数:-restore RootKey Filename" << endl;
cout << "* 参数说明:命令 根键 文件名" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:版主信息" << endl;
cout << "* 参 数:-h [-help]" << endl;
cout << "* 参数说明:命令" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
}
* 分支功能:备份注册表
* 参 数:-save RootKey SubKey Filename
* 参数说明:命令 根键 子键 文件名
* 抛出异常:操作失败,提示信息。
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
if( 0 == (strcmp(argv[1], "-save")) )
{
if( 5 == argc )
{
CRegOperator reg;
bReturn = reg.SetHKEY(argv[2]);
if( FALSE == bReturn )
{
cout << "The Key [" << argv[2] << "] set fail!" << endl;
return 0;
}
bReturn = reg.OpenKey(argv[3]);
if( FALSE == bReturn )
{
cout << "Open [" << argv[3] << "] fail!" << endl;
return 0;
}
bReturn = reg.SaveKey( argv[4] );
if( FALSE == bReturn )
{
cout << "Save the [" << argv[4] << "] fail!" << endl;
return 0;
}
cout << "Save [" << argv[4] << "] value from [" << argv[3] << "] successfully!" << endl;
return 0;
}
else
{
cout << "Warning:Must have four param with \'-save\' option!" << endl;
return 0;
}
}
/*============================================================
* 分支功能:恢复注册表
* 参 数:-restore RootKey Filename
* 参数说明:命令 根键 文件名
* 抛出异常:操作失败,提示信息。
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
if( 0 == (strcmp(argv[1], "-restore")) )
{
if(4 == argc )
{
CRegOperator reg;
bReturn = reg.SetHKEY(argv[2]);
if( FALSE == bReturn )
{
cout << "The Key [" << argv[2] << "] set fail!" << endl;
return 0;
}
bReturn = reg.RestoreKey( argv[3] );
if( FALSE == bReturn )
{
cout << "Restore from [" << argv[3] << "] fail!" << endl;
return 0;
}
cout << "Restore [" << argv[2] << "] value from file [" << argv[3] << "] successfully!" << endl;
return 0;
}
else
{
cout << "Warning:Must have three param with \'-restore\' option!" << endl;
return 0;
}
}
/*============================================================
* 分支功能:版主信息
* 参 数:-h [-help]
* 参数说明:命令
* 抛出异常:操作失败,提示信息。
* 作 者:RainLeaf, 2009年4月10日
*============================================================*/
if( ( 0 == strcmp( argv[1], "-h" ) ) || ( 0 == strcmp( argv[1], "-help" ) ) )
{
RegOperatorHelp();
return 0;
}
cout << "Error param! Please execute [" << argv[0] << "] or [" << argv[0] << " -h] to get help!" << endl;
return 0;
}
void RegOperatorHelp()
{
cout << " * 作 者:RainLeaf, 2009年4月10日" << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:读取键值" << endl;
cout << "* 参 数:-read RootKey SubKey ValueName" << endl;
cout << "* 参数说明:命令 根键 子键 值的名字" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:创建子键" << endl;
cout << "* 参 数:-create RootKey SubKey" << endl;
cout << "* 参数说明:命令 根键 子键" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:创建键值" << endl;
cout << "* 参 数:-write RootKey SubKey ValueName Value" << endl;
cout << "* 参数说明:命令 根键 子键 值的名字 值" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:删除键值" << endl;
cout << "* 参 数:-delval RootKey SubKey ValueName" << endl;
cout << "* 参数说明:命令 根键 子键 值的名字" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:删除非空子键" << endl;
cout << "* 参 数:-delkey RootKey SubKey" << endl;
cout << "* 参数说明:命令 根键 子键" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:备份注册表" << endl;
cout << "* 参 数:-save RootKey SubKey Filename" << endl;
cout << "* 参数说明:命令 根键 子键 文件名" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:恢复注册表" << endl;
cout << "* 参 数:-restore RootKey Filename" << endl;
cout << "* 参数说明:命令 根键 文件名" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
cout << "/*============================================================" << endl;
cout << "* 分支功能:版主信息" << endl;
cout << "* 参 数:-h [-help]" << endl;
cout << "* 参数说明:命令" << endl;
cout << "* 抛出异常:操作失败,提示信息。" << endl;
cout << "*============================================================*/" << endl;
cout << endl;
}
本文转自jazka 51CTO博客,原文链接:http://blog.51cto.com/jazka/201907,如需转载请自行联系原作者