getregfile.h

来自「1,wince下做的导入注册表的程序.」· C头文件 代码 · 共 75 行

H
75
字号


enum RegInputStatus
{
	statusError=0,
	statusBlank=1,
	statusKey=2,
	statusValue=4,
	statusNeedContinue=8,
	statusValueDone=16,
	statusBlankWithEmboCmd=32
};	
	
struct RegValue_ARGS//代表注册表键-值对
{
public:
	TCHAR szTempKeyLine[MAX_PATH];	//注册表子项TempKeyLine
	PTCHAR pszTempKeyLine;
	TCHAR szTempValueLine[4*4096+MAX_PATH];//注册表值TempValueLine
	PTCHAR pszTempValueLine;

	DWORD KeyOnlyDone;
	DWORD ValueDone;
	
	RegInputStatus curStatus;
	HKEY dwRoot;					//注册表根HKEY_LOCAL_MACHINE
	TCHAR szPath[MAX_PATH];			//注册表的路径Drivers\BuiltIn\PCI\Template\DC21X4

	TCHAR szName[MAX_PATH] ;		//注册表值的名称"Dll", "Order"
	DWORD dwType;				//注册表项类型dword
	UCHAR ValueBuf[4096];		//MS Helper said the value size is within 4K
	DWORD dwHexDataLen;         //确定二进制位数
	DWORD dwRegOptions; 
	DWORD dwDisposition; 
	TCHAR szClass[MAX_PATH];
	BOOL bDeleteKey;			//标识是否删掉键
	BOOL bDeleteValue;			//标识是否删掉值
	HKEY hCurKey;				//当前键的Handle
	DWORD fActivateDevice;
	DWORD fDeactivateDevice;
	HANDLE hDevice;

    RegValue_ARGS()		//构造函数
	{
	    KeyOnlyDone=0;
		ValueDone=0;
		curStatus=statusBlank;
	    pszTempKeyLine=szTempKeyLine;
	    pszTempValueLine=szTempValueLine;
		memset(szTempKeyLine, NULL, sizeof(TCHAR)*MAX_PATH);
		memset(szClass, NULL, sizeof(TCHAR)*MAX_PATH);
		memset(szTempValueLine, NULL, sizeof(szTempValueLine));

		dwRoot=HKEY_LOCAL_MACHINE;
		memset(szPath, NULL, sizeof(TCHAR)*MAX_PATH);
	    memset(szName,NULL,sizeof(TCHAR)*MAX_PATH);
		dwType = REG_DWORD;
		dwRegOptions=REG_OPTION_NON_VOLATILE;
		fActivateDevice=0;
		fDeactivateDevice=0;
		hDevice=NULL;

		dwHexDataLen=0;
		bDeleteKey=FALSE;
		bDeleteValue=FALSE;
		hCurKey=NULL;
	}	
	~RegValue_ARGS()	//析构函数
	{ 
	}
};

//int _tmain2 (TCHAR* argv);
int GetRegFile(TCHAR* argv);

⌨️ 快捷键说明

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