當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R readRegistry 讀取 Windows 注冊表配置單元


R語言 readRegistry 位於 utils 包(package)。

說明

在 Windows 上,讀取 Windows 注冊表中的鍵值,以及可選的整個配置單元。

用法

readRegistry(key, hive = c("HLM", "HCR", "HCU", "HU", "HCC", "HPD"),
             maxdepth = 1, view = c("default", "32-bit", "64-bit"))

參數

key

字符串,Windows 注冊表中 key 的路徑。

hive

包含 key 的‘hive’。縮寫為 HKEY_LOCAL_MACHINEHKEY_CLASSES_ROOTHKEY_CURRENT_USERHKEY_USERSHKEY_CURRENT_CONFIGHKEY_PERFORMANCE_DATA

maxdepth

遞歸到鍵的子鍵的程度。默認情況下,僅返回鍵的值和子鍵的名稱。

view

在 64 位 Windows 上,要使用的注冊表視圖:請參閱“詳細信息”。

細節

注冊表訪問是使用當前的安全設置完成的Rsession:這意味著某些注冊表項即使存在也可能無法訪問。這可能會導致NULL返回的對象中的值,以及可能的空元素名稱。

在 64 位 Windows 上,從 32 位運行時,默認情況下將讀取注冊表的 32 位視圖R,以及從 64 位運行時的 64 位視圖R: 看https://learn.microsoft.com/en-us/windows/win32/winprog64/registry-redirector.

值和子項的命名列表(它們本身可以是命名列表)。默認值(如果有)位於子項之前的命名值之前,並且後一組值均按字母順序排序。

注意

這僅適用於 Windows。

例子


if(.Platform$OS.type == "windows") withAutoprint({
  ## only in HLM if set in an admin-mode install.
  try(readRegistry("SOFTWARE\\R-core", maxdepth = 3))

  gmt <- file.path("SOFTWARE", "Microsoft", "Windows NT",
                   "CurrentVersion", "Time Zones",
		   "GMT Standard Time", fsep = "\\")
  readRegistry(gmt, "HLM")
}) 
## Not run: ## on a 64-bit R need this to find 32-bit JAGS
readRegistry("SOFTWARE\\JAGS", maxdepth = 3, view = "32")

## See if there is a 64-bit user install
readRegistry("SOFTWARE\\R-core\\R64", "HCU", maxdepth = 2)

## End(Not run)

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Read a Windows Registry Hive。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。