用 regsetvalueex 函式寫登錄檔資訊,資訊型別是(byte*),要寫入wchar型別的資料,直接強轉會出錯:
//要寫入的wchar型別的資料
wchar filename[max_path];
lstrcpy(filename, _t("張三"));
//登錄檔操作
hkey hkey = null;
long lreg = regopenkey(hkey_classes_root, _t("xx"), &hkey);
if (lreg != error_success)
regsetvalueex(hkey, _t("nowfilename"), null, reg_sz, (byte*)filename, sizeof(filename) + 1);
regclosekey(hkey);
這樣寫登錄檔內容:
後邊會有三個小點,儘管數值是對的
但是要讀取這個值就會出錯
應該是格式儲存的問題,但是
//要寫入的wchar型別的資料
wchar filename[max_path];
lstrcpy(filename, _t("張三"));
//先定義個byte*型別值的儲存filename
byte *filenamebyte = (byte*)filename;
...regsetvalueex(hkey, _t("nowfilename"), null, reg_sz, filenamebyte, sizeof(filenamebyte) + 1);
這個時候正確的讀取了
還有就是直接寫也是可以成功的
regsetvalueex(hkey, _t("nowfilename"), null, reg_sz, (byte*)_t("張三"), sizeof(_t("張三")) + 1);
Win32登錄檔列舉
最近有點忙,因為設計了很久的專案終於開紿寫 了。但堅持寫博是我的習慣,於是這會兒吃了晚飯的休息時間記錄了一點登錄檔api 操作的東西。下面這段 主要是用來列舉windows mobile下的plug in,然後可以設定所有的plug in的enabled鍵值。但windows mobile 的plu...
Win32登錄檔操作簡記
開啟登錄檔編輯器regedit.exe,介面左邊顯示的是健,右邊顯示的是健值,健可以分成主鍵及子鍵,健值由鍵值名稱和內容構成,由於在寫程式時候沒有搞清楚這些基本的概念,導致了api的使用問題,以下程式為列舉某子鍵下的所有值const char s i5 lpstr strpathname1 hkey...
win32 查詢登錄檔找網絡卡
define sizeof device name 256 cstring strdevicelist bool get device info int index,char key name,char device info,char device description regclosekey ...