杉宫竹苑工作室

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

NSIS API常用函数

[复制链接]
发表于 2017-2-26 11:10:53 | 显示全部楼层 |阅读模式

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

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

x

  1. OutFile "常用API函数集.EXE"
  2. Name "常用API函数集"
  3. Section
  4. ;获得安装程序所在目录
  5. System::Call 'kernel32::GetCurrentDirectory(i 1024,t .R1)'
  6. MessageBox MB_OK '安装程序所在目录:$R1'

  7. ;获得当前安装程序进程PID
  8. System::Call 'kernel32::GetCurrentProcessId()i .R0'
  9. MessageBox MB_OK '安装程序进程PID:$R0'

  10. ;获得磁盘卷标
  11. StrCpy $R0 "C:"
  12. System::Call 'kernel32::GetVolumeInformationA(t R0,t .R1,i 100,i .R3,i .R4,i .R5,t .R6,i 100)'
  13. MessageBox MB_OK '盘符:$R0$\n卷标:$R1$\n文件格式:$R6'

  14. ;设置磁盘卷标
  15. StrCpy $R0 "C:"    ;盘符
  16. StrCpy $R1 "系统"    ;卷标
  17. System::Call 'kernel32::SetVolumeLabelA(t R0,t R1)'

  18. ;对比两个文件的时间,如两个时间相等,就返回0;如R0小于R1,返回-1;如R1小于R0,返回1
  19. StrCpy $R0 "C:\boot.ini"
  20. StrCpy $R1 "C:\AUTOEXEC.BAT"
  21. System::Call 'kernel32::CompareFileTime(t R0,t R1) i.R2'
  22. MessageBox MB_OK '文件$R0与$R1时间比较结果$R2'

  23. ;获取分区数目,结果显示是十进制,转换成二进制后
  24. ;二进制位标志着存在哪些驱动器。其中,位0设为1表示驱动器A:存在于系统中;
  25. ;位1设为1表示存在B:驱动器;以次类推
  26. System::Call 'kernel32::GetLogicalDrives()i.R1'
  27. MessageBox MB_OK '分区数目对应数:$R1'


  28. ;移动文件堆栈模式
  29. Push "D:\1.txt" ;目标文件
  30. Push "C:\1.txt" ;来源文件
  31. System::Call "Kernel32::MoveFileExA(t s,t s,i 2)"

  32. ;移动文件变量模式
  33. StrCpy $R0 "C:\A\1.txt"    ;来源文件
  34. StrCpy $R1 "C:\1.txt"    ;目标文件
  35. System::Call 'Kernel32::MoveFileA(t R1,t R0)'

  36. ;设置文件属性
  37. StrCpy $R0 "C:\1.EXE"    ;文件
  38. StrCpy $R1 0x20         ;属性
  39. System::Call 'kernel32::SetFileAttributesA(t R0,i 0x100)'
  40. ;属性表
  41. ;0x20   FILE_ATTRIBUTE_ARCHIVE,存档
  42. ;0x2    FILE_ATTRIBUTE_HIDDEN,隐藏
  43. ;0x80    FILE_ATTRIBUTE_NORMAL,正常
  44. ;0x2000 FILE_ATTRIBUTE_NOT_CONTENT_INDEXED,不索引
  45. ;0x1000 FILE_ATTRIBUTE_OFFLINE,离线
  46. ;0x1    FILE_ATTRIBUTE_READONLY,只读
  47. ;0x4    FILE_ATTRIBUTE_SYSTEM,系统
  48. ;0x100  FILE_ATTRIBUTE_TEMPORARY,;临时属性(一般无效)
  49. SectionEnd
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 14:46 , Processed in 0.106894 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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