易语言取当前打开的注册表路径源码
.版本 2
.程序集 程序集1
.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
.局部变量 hKey, 整数型
.局部变量 szPath, 字节集
RegOpenKeyExA (#HKEY_CURRENT_USER, “Software\Microsoft\Notepad”, 0, #KEY_QUERY_VALUE, hKey)
szPath = GetKeyPathFromHKEY (hKey)
输出调试文本 (编码_Unicode到Ansi (szPath))
RegCloseKey (hKey)
返回 (0) ' 可以根据您的需要返回任意数值
.子程序 GetKeyPathFromHKEY, 字节集, , 根据hKey查找当前打开的注册表路径
.参数 hKey, 整数型
.局部变量 dwBufLen, 整数型
.局部变量 lRet, 整数型
.局部变量 pBuf, 整数型
.局部变量 dwSize, 整数型
.局部变量 szBuf, 字节集
ZwQueryKey (hKey, #KeyNameInformation, #NULL, 0, dwBufLen)
.如果真 (dwBufLen ≤ 0)
返回 ({ })
.如果真结束
pBuf = LocalAlloc (#LMEM_ZEROINIT, dwBufLen + 2) ' 加上宽字符结尾
lRet = ZwQueryKey (hKey, #KeyNameInformation, pBuf, dwBufLen, dwBufLen)
.如果真 (lRet ≠ #STATUS_SUCCESS)
LocalFree (pBuf)
输出调试文本 (取错误信息文本_API (lRet, “ntdll.dll”))
返回 ({ })
.如果真结束
dwSize = 指针_到整数 (pBuf)
szBuf = 指针到字节集 (pBuf + 4, dwSize + 2)
LocalFree (pBuf)
返回 (szBuf)