站长资源脚本专栏

利用InstallShield获取注册表键值的脚本

整理:jimmy2024/4/20浏览2
简介Use nvType = REGDB_NUMBER; szKey = "\\SYSTEM\\CurrentControlSet\\Servic es\\{58ECC408-265E-4342-9DA4-70BF1796D81D}\\Parameters\\Tcpip"; szName = "
Use 
nvType = REGDB_NUMBER; 
szKey = "\\SYSTEM\\CurrentControlSet\\Servic 
es\\{58ECC408-265E-4342-9DA4-70BF1796D81D}\\Parameters\\Tcpip"; 
szName = "EnableDHCP" 
RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE ); 
RegDBGetKeyvalueEx ( szKey, szName, nvType, svvalue, nvSize ); 
if ( svvalue = "1") then 
szName = "DhcpIPAddress"; 
else 
szName = "IPAddress"; 
endif; 
nvType = REGDB_STRING; 
RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE ); 
RegDBGetKeyvalueEx ( szKey, szName, nvType, svvalue, nvSize ); <p>上面的程序实际上是如何获取注册表中的键值,如果用于获取IP的话,上面的{58ECC408-265E-4342-9DA4-70BF1796D81D}是我的机器上的,您的GUID可能和我的不一样,但你还可以从以下的注册表获取: 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Adapters 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\El90x1\Parameters\Tcpip(如果存在的话)  


同样,如果您想获取您的主机名的话,可以通过以下程序: 
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); 
RegDBGetKeyvalueEx("SYSTEM\\CurrentControlSet\\Control\\ComputerName\\ComputerName","ComputerName", nvType, szServerPort, nvSize); 

大家可以通过以上的示例获取注册表的其他键值。