關於Windows7 64的登錄檔讀寫問題

2021-07-09 21:57:25 字數 777 閱讀 8403

最近在寫c++程式的時候因為要用到開機啟動 所以就要讀寫登錄檔

regopenkeyex(hkey_local_machine, l"software\\microsoft\\windows\\currentversion\\run", null, key_write, &hkey);
這是原來的** 結果發現在虛擬機器 winxp下執行可以寫入 , win7 64失敗

實際上,登錄檔是寫成功了

但他寫到這個位置去了

hkey_local_machine\software\wow6432node\microsoft\windows\currentversion\run

而我們希望的是這個位置

software\microsoft\windows\currentversion\run

這個原因是因為win764有著乙個重定向功能,win764有著兩個系統檔案 乙個64位 乙個32位 這就是為什麼他比winxp大兩倍的原因

我們的程式是win32的自然就被放到32位的資料夾去了

下面說一下解決辦法

regopenkeyex(hkey_local_machine, l"software\\microsoft\\windows\\currentversion\\run", null, key_write|key_wow64_64key, &hkey);
其實就是在讀寫許可權後面加上了|key_wow64_64key 這樣就解決問題了

另外寫在32位登錄檔裡的開機自啟動是無效的

Windows7 64位下搭建PyGTK開發環境

畢業設計用pygtk實現的,理論上是可以跨平台的,但是其中用到的一些模組可能無法在win下用 或許折騰折騰這些模組可以搞到win平台的,好吧,我沒那麼蛋疼 win7上搭建gtk和pygtk開發環境的詳細步驟 一 環境說明 windows 7 x86 64 沒有安裝python 注 是32位的,不是6...

Windows7 64位下搭建PyGTK開發環境

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!畢業設計用pygtk實現的,理論上是可以跨平台的,但是其中用到的一些模組可能無法在win下用 或許折騰折騰這些模組可以搞到win平台的,好吧,我沒那麼蛋疼 win7上搭建gtk和pygtk開發環境的詳細步驟 一 環境說明 windows 7 x86...

windows 7 64位出現Oracle中文亂碼

提示oracle客戶端無法連線指定字元 安裝好客戶端之後,如圖 將資料庫dbhome 1中的network資料夾全部複製到客戶端,如圖 第二種方法 本人使用的第二種方法 果斷放棄.net自帶的ole db 的連線方式 這種方式太容易出現中文亂碼錯誤 改為oracleclient的連線方式 oracl...