CRegKey類中的函式open()失敗原因

2021-06-23 02:31:50 字數 726 閱讀 9372

在vs2010下面開發運用cregkey類中的函式open()進行登錄檔開啟的時候返回失敗,究其原因:

函式原型:long open(

hkey hkeyparent,

lpctstr lpszkeyname,

regsam samdesired = key_read | key_write

) throw( );

其中第三個引數預設的時候為key_read | key_write即key_all_access開啟登錄檔鍵,其中包含了寫許可權。

cregkey::open()

和::regopenkeyex api

如果沒有明確指定(

null或0

),則會使用預設的許可權

key_all_access

開啟登錄檔鍵,其中包含了寫許可權。導致方法返回失敗 老的

api ::regopenkey()

沒有指定訪問許可權的引數,可以成功開啟登錄檔鍵,但是後續的

regsetvalue()

寫操作仍會返回失敗。

正確開啟登錄檔項的呼叫方式舉例:

oregkey.open (hkey_classes_root, lpszkeyname, key_read/*key_query_value*/

regopenkeyex(hkey_classes_root, sbuf, 0, key_read/*key_query_value*/,  &hkey))

CRegKey類的登錄檔使用

登錄檔操作,使用mfc提供的cregkey類,封裝了相應的操作,但是需要在對話方塊原始檔 中引用atlbase.h標頭檔案 主要方法 登錄檔是個樹結構,由根鍵,子鍵和項組成,其中項是子鍵下的資料,包括項的名稱 資料型別和資料 1 create 用於建立所標誌的鍵,宣告如下 long create h...

第9 2節 Python的檔案開啟函式open詳解

一 引言 在操作乙個檔案前,大部分情況需要先開啟檔案,才能進行,在python中使用內建函式open來開啟乙個檔案。open函式是python的乙個內建函式,io模組 定義的函式open是該內建函式的同義詞 這是python官網中關於io.open函式的說明,原文如下 this is an alia...

類中宣告的函式和類的成員函式

define crt secure no warnings include using namespace std class a void a f1 void f int main 在類內宣告的函式未必是類的成員函式,也許只是宣告一下,告訴編譯器,我有這個函式。編譯器說,好,我知道了。但是實現f ...