正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- OutFile "常用API函数集.EXE"
- Name "常用API函数集"
- Section
- ;获得安装程序所在目录
- System::Call 'kernel32::GetCurrentDirectory(i 1024,t .R1)'
- MessageBox MB_OK '安装程序所在目录:$R1'
- ;获得当前安装程序进程PID
- System::Call 'kernel32::GetCurrentProcessId()i .R0'
- MessageBox MB_OK '安装程序进程PID:$R0'
- ;获得磁盘卷标
- StrCpy $R0 "C:"
- System::Call 'kernel32::GetVolumeInformationA(t R0,t .R1,i 100,i .R3,i .R4,i .R5,t .R6,i 100)'
- MessageBox MB_OK '盘符:$R0$\n卷标:$R1$\n文件格式:$R6'
- ;设置磁盘卷标
- StrCpy $R0 "C:" ;盘符
- StrCpy $R1 "系统" ;卷标
- System::Call 'kernel32::SetVolumeLabelA(t R0,t R1)'
- ;对比两个文件的时间,如两个时间相等,就返回0;如R0小于R1,返回-1;如R1小于R0,返回1
- StrCpy $R0 "C:\boot.ini"
- StrCpy $R1 "C:\AUTOEXEC.BAT"
- System::Call 'kernel32::CompareFileTime(t R0,t R1) i.R2'
- MessageBox MB_OK '文件$R0与$R1时间比较结果$R2'
- ;获取分区数目,结果显示是十进制,转换成二进制后
- ;二进制位标志着存在哪些驱动器。其中,位0设为1表示驱动器A:存在于系统中;
- ;位1设为1表示存在B:驱动器;以次类推
- System::Call 'kernel32::GetLogicalDrives()i.R1'
- MessageBox MB_OK '分区数目对应数:$R1'
- ;移动文件堆栈模式
- Push "D:\1.txt" ;目标文件
- Push "C:\1.txt" ;来源文件
- System::Call "Kernel32::MoveFileExA(t s,t s,i 2)"
- ;移动文件变量模式
- StrCpy $R0 "C:\A\1.txt" ;来源文件
- StrCpy $R1 "C:\1.txt" ;目标文件
- System::Call 'Kernel32::MoveFileA(t R1,t R0)'
- ;设置文件属性
- StrCpy $R0 "C:\1.EXE" ;文件
- StrCpy $R1 0x20 ;属性
- System::Call 'kernel32::SetFileAttributesA(t R0,i 0x100)'
- ;属性表
- ;0x20 FILE_ATTRIBUTE_ARCHIVE,存档
- ;0x2 FILE_ATTRIBUTE_HIDDEN,隐藏
- ;0x80 FILE_ATTRIBUTE_NORMAL,正常
- ;0x2000 FILE_ATTRIBUTE_NOT_CONTENT_INDEXED,不索引
- ;0x1000 FILE_ATTRIBUTE_OFFLINE,离线
- ;0x1 FILE_ATTRIBUTE_READONLY,只读
- ;0x4 FILE_ATTRIBUTE_SYSTEM,系统
- ;0x100 FILE_ATTRIBUTE_TEMPORARY,;临时属性(一般无效)
- SectionEnd
复制代码 |