UNICODE态下,在读取注册表的时候有时会只获得一个字符,是因为RegQueryValueEx的参数虽然是LPBYTE(unsigned char *),但是读出来的数据却是按照WIDECHAR形式读出的,所以可以直接把LPBYTE强制转换成TCHAR,再加以利用就可以了.
写入的时候,如果以TCHAR形式写入,则需要用memcpy(data_to_be_write_LPBYTE, data_wide_char_LPTCHAR, wcslen(data_wide_char_LPTCHAR));来拷贝数据,然后再用LPBYTE的数据写入.
尤其是对于有中文的情况,以上的读写方法都可以正常实现.