标题:用RegEnumKeyEx()函数枚举注册表子键的问题
只看楼主
xqbg111
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-10-12
结帖率:0
已结贴  问题点数:20 回复次数:2 
用RegEnumKeyEx()函数枚举注册表子键的问题
使用Windows API 函数RegEnumKeyEx()枚举系统注册表某个子键下面的子键,调用的时候怎么总是不成功。这个函数有8个参数,后面4个参数应该怎样赋值才对?用值传递还是地址传递?参数值给多少才能正确运行?请有经验的大师指点一二,在线急等,谢谢!
搜索更多相关主题的帖子: 枚举 注册表 函数 多少 参数 
2021-10-12 17:58
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 

程序代码:
DECLARE long RegOpenKeyEx IN Advapi32 long,string@,long,long,long@
DECLARE long RegCloseKey IN Advapi32 long
DECLARE long RegQueryInfoKey IN Advapi32 long,long,long,long,long@,long,long,long,long,long,long,long
DECLARE long RegEnumKeyEx IN Advapi32 long,long,string@,long@,long,long,long,long

hKey = 0
IF RegOpenKeyEx(0x80000001,;   && HKEY_CURRENT_USER
                "SOFTWARE\Microsoft",;
                0,;
                0x20019,;      && KEY_READ
                @hKey) != 0    && ERROR_SUCCESS
    RETURN
ENDIF
cSubKeys = 0
RegQueryInfoKey(hKey,0,0,0,@cSubKeys,0,0,0,0,0,0,0)     
IF cSubKeys > 0
    CREATE CURSOR tt (num I, SubKey C(254))
    achKey = REPLICATE(0h00,254)
    FOR i=1 TO cSubKeys
        cbName = 254
        IF RegEnumKeyEx(hKey,i-1,@achKey,@cbName,0,0,0,0)==0
            INSERT INTO tt VALUES (i, LEFT(achKey,cbName))
        ENDIF
    ENDFOR
    GO TOP 
    BROWSE TITLE "HKEY_CURRENT_USER\SOFTWARE\Microsoft"
ENDIF
RegCloseKey(hKey)
2021-10-12 20:39
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:10 
谢谢吹版!
2021-10-13 06:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-507135-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.268155 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved