怎么样利用InstallShield获取注册表键值?

怎么样利用InstallShield获取注册表键值?

/* written by Jaron ,2002-07-03 */
/* 原出处:江都资讯网论坛 http://www.jiangdu.net/bbs */
/* 转载请注明出处和保留此版权信息 */
/*欢迎使用SiteManager网站管理系统 http://sitemanager.cnzone.net */

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);

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