2016-11-08 69 views
-2

我以爲使用RegSaveKeyEx會幫助我將註冊表子項保存爲.REG文件,但它不起作用。我有這樣的代碼:保存爲.REG文件使用WinApi

// Saving key 
LONG saveKey = RegSaveKeyExW(keyResult, L"C:\\Demo1.reg", securityAttributes, Flags); 

securityAttributes設置爲NULL,並Flags,作爲REG_LATEST_FORMAT

我沒有任何問題將它保存爲.DAT文件,但想要一個.REG之一,就像從註冊表窗口本身導出子項。

這是.reg文件的樣子:

.REG file

這並不是說我不是在談論啓用或訪問令牌禁用權限,但使用功能本身。

+2

不,這裏沒有API。 .REG格式由RegEdit處理。 –

+0

[RegSaveKeyEx需要提升?]的可能的重複(http://stackoverflow.com/questions/1088612/regsavekeyex-requires-elevation) – VuVirt

+0

不是。我不是說在訪問令牌中啓用/禁用特權;我正在談論這個功能本身。 –

回答

1

沒有註冊表API函數會輸出.reg格式的密鑰。您必須自己枚舉密鑰的內容並手動寫出自己的.reg文件。

1

你可以使用reg export

這裏有一個例子:

reg export HKLM\Software\MyCo\MyApp AppBkUp.reg 

在你的代碼只需要調用ShellExecuteEx用註冊表編輯器和正確的命令行參數。