RegDBGetKeyValueEx

语法:RegDBGetKeyValueEx (szKey, szName, nvType, svValue, nvSize);
说明:RegDBGetKeyValueEx函数检索注册表中一个指定项下一个特定数值名的值。缺省时,InstallShield假定该项是HKEY_CLASSES_ROOT下的一个子项。你可以用RegDBSetDefaultRoot来指定另一个开关键。
RegDBGetKeyValueEx是一个通用注册表相关函数,设计为可工作于所有注册表项,包括那些由特殊注册表相关函数处理的项。
参数:
szKey
指定其值要被检索的项的名称。用一个双反斜杠来分隔子项中的不同层。
szName
指定在szKey下其值要被检索的数值的数值名。要检索项的缺省值,则传递一个空字符串。
nvType
返回下列预定义常量之一,它们标识在svValue返回的数据的类型:
请参阅15.12中该部分的说明。
svValue
返回由szKey和svName 指定的值。注意一个数值型值以一个字符串返回。
nvSize
以字节数返回在svValue返回的值的大小。
返回值:
0:表明函数成功检索该值。
< 0:表明函数未能检索该值。
注解:
一个Windows NT平台上,当检索REGDB_STRING_MULTI数据类型时,带空字符串为参数调用StrGetTokens来将多个以空字符串为中止的字符串分析到一个字符串列表。也就是,如果svValue在调用RegDBGetKeyValueEx后有多个结果字符串,StrGetTokens( listID, svValue, 
"")可以被使用来分析字符串并把它们放到一个由listID指向的字符串列表。

function OnFirstUIAfter()
    
STRING szTitle, szMsg1, szMsg2, szOption1, szOption2,svValue;
    NUMBER bOpt1, bOpt2,nvSize,nvType; 
begin      
     nvType
=REGDB_STRING;  
 
// SdShowMsg("\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\InstallShield_{5F0F1795-20A4-4DB2-9163-8166B9A6297F}",TRUE); 
 
//  Delay(1); 
  RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); 
  
//RegDBSetKeyValueEx("\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\InstallShield_{5F0F1795-20A4-4DB2-9163-8166B9A6297F}","UninstallString",REGDB_STRING,INSTALLDIR^"Elane.installer.UnInstaller.exe",-1); 
   RegDBGetKeyValueEx(
"\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\InstallShield_{5F0F1795-20A4-4DB2-9163-8166B9A6297F}","UninstallString",nvType,svValue,nvSize);
   SdShowMsg(svValue,
TRUE);
 Delay(
20);
 
//    SdShowMsg("",FALSE);
    Disable(STATUSEX);

    bOpt1  
= FALSE;
    bOpt2  
= FALSE;
    szMsg1 
= SdLoadString(IFX_SDFINISH_MSG1);
    SdFinishEx(szTitle, szMsg1, szMsg2, szOption1, szOption2, bOpt1, bOpt2);
end;

相关文章:

  • 2022-12-23
  • 2021-12-09
  • 2022-12-23
  • 2022-02-20
  • 2022-12-23
  • 2021-08-17
  • 2022-12-23
  • 2022-02-05
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-12
  • 2021-11-16
  • 2022-12-23
相关资源
相似解决方案