您的位置:首页 > 脚本专栏  > 其它
利用InstallShield获取注册表键值的脚本
发表时间:2018-01-16 | 来源:本站整理
分享到:
Use

nvType=REGDB_NUMBER;

szKey="\\SYSTEM\\CurrentControlSet\\Servic

es\\{58ECC408-265E-4342-9DA4-70BF1796D81D}\\Parameters\\Tcpip";

szName="EnableDH
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);

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