杉宫竹苑工作室

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2038|回复: 0

NSIS:检查某注册表键是否存在

[复制链接]
发表于 2015-2-3 22:32:41 | 显示全部楼层 |阅读模式

正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. ;定义注册表主键
  2. !define HKEY_CLASSES_ROOT           0x80000000
  3. !define HKEY_CURRENT_USER           0x80000001
  4. !define HKEY_LOCAL_MACHINE          0x80000002
  5. !define HKEY_USERS                  0x80000003
  6. OutFile OpenReg.exe
  7. XPStyle on
  8. !include LogicLib.nsh
  9. ;--------------------------------
  10. Name OpenReg
  11. Section Nil
  12. SectionEnd
  13. Function .onInit
  14. ;为键的句柄创建一个缓存
  15. System::Call "*(i 0) i .R0"
  16. ;将要检测的键放入内存中
  17. Push "SOFTWARE\TENCENT\QQPinYin"
  18. ;调用API进行检查,返回值在$R1中
  19. system::call 'Advapi32::RegOpenKey(i ${HKEY_LOCAL_MACHINE}, t s, i R0) .iR1'
  20. ;关闭该键的句柄
  21. system::call 'Advapi32::RegCloseKey(i R0)'
  22. ;释放内存
  23. system::free
  24. ;返回值:
  25. ;0代表键存在
  26. ;2代表键不存在
  27. ;其它值表示出错
  28. ${If} $R1 == 0
  29. Messagebox mb_ok "Key Exists!"
  30. ${ElseIf} $R1 == 2
  31. Messagebox mb_ok "Key doesn't Exists!"
  32. ${Else}
  33. Messagebox mb_ok "Error!"
  34. ${EndIf}
  35. Pop $R1
  36. Pop $R0
  37. Quit
  38. FunctionEnd
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SgzyStudio

GMT+8, 2024-5-15 20:18 , Processed in 0.116683 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表