123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732 |
- ;_____________________________________________________________________________
- ;
- ; File Functions
- ;_____________________________________________________________________________
- ;
- ; 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
- Name "File Functions"
- OutFile "FileFunc.exe"
- Caption "$(^Name)"
- XPStyle on
- RequestExecutionLevel user
- !include "WinMessages.nsh"
- !include "FileFunc.nsh"
- Var INI
- Var HWND
- Var STATE
- Var FUNCTION
- Var LOCATE1
- Var LOCATE2
- Var GETSIZE1
- Var GETSIZE2
- Var GETSIZE3
- Var GETSIZE4
- Var GETSIZE5
- Var GETSIZE6
- Var DRIVESPACE1
- Var DRIVESPACE2
- Var GETDRIVES1
- Var GETTIME1
- Var GETTIME2
- Var GETFILEATTRIBUTES1
- Var GETFILEATTRIBUTES2
- Var GETFILEVERSION1
- Var GETOPTIONS1
- Var GETOPTIONS2
- Var GETROOT1
- Var GETPARENT1
- Var GETFILENAME1
- Var GETBASENAME1
- Var GETFILEEXT1
- Var BANNERTRIMPATH1
- Var BANNERTRIMPATH2
- Var DIRSTATE1
- Page Custom ShowCustom LeaveCustom
- Function ShowCustom
- InstallOptions::initDialog "$INI"
- Pop $hwnd
- GetDlgItem $1 $HWND 1201
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1202
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1206
- EnableWindow $1 0
- SendMessage $1 ${WM_ENABLE} 1 0
- StrCpy $LOCATE1 $DOCUMENTS
- StrCpy $LOCATE2 '/L=FD /M=*.* /S=0B /G=1 /B=0'
- StrCpy $GETSIZE1 '$WINDIR'
- StrCpy $GETSIZE2 '/M=Explorer.exe /S=0K /G=0'
- StrCpy $GETSIZE3 '$PROGRAMFILES\Common Files'
- StrCpy $GETSIZE4 '/S=0M'
- StrCpy $GETSIZE5 '$WINDIR'
- StrCpy $GETSIZE6 '/G=0'
- StrCpy $DRIVESPACE1 'C:\'
- StrCpy $DRIVESPACE2 '/D=F /S=M'
- StrCpy $GETDRIVES1 'FDD+CDROM'
- StrCpy $GETTIME1 '$WINDIR\Explorer.exe'
- StrCpy $GETTIME2 'C'
- StrCpy $GETFILEATTRIBUTES1 'C:\IO.SYS'
- StrCpy $GETFILEATTRIBUTES2 'ALL'
- StrCpy $GETFILEVERSION1 '$WINDIR\Explorer.exe'
- StrCpy $GETOPTIONS1 '/SILENT=yes /INSTDIR="$PROGRAMFILES\Common Files"'
- StrCpy $GETOPTIONS2 '/INSTDIR='
- StrCpy $GETROOT1 'C:\path\file.dll'
- StrCpy $GETPARENT1 'C:\path\file.dll'
- StrCpy $GETFILENAME1 'C:\path\file.dll'
- StrCpy $GETBASENAME1 'C:\path\file.dll'
- StrCpy $GETFILEEXT1 'C:\path\file.dll'
- StrCpy $BANNERTRIMPATH1 'C:\Server\Documents\Terminal\license.htm'
- StrCpy $BANNERTRIMPATH2 '34A'
- StrCpy $DIRSTATE1 '$TEMP'
- GetDlgItem $1 $HWND 1203
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$LOCATE1"
- GetDlgItem $1 $HWND 1205
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$LOCATE2"
- InstallOptions::show
- Pop $0
- FunctionEnd
- Function LeaveCustom
- ReadINIStr $STATE $INI "Field 1" "State"
- ReadINIStr $R1 $INI "Field 2" "State"
- ReadINIStr $R2 $INI "Field 3" "State"
- ReadINIStr $R3 $INI "Field 4" "State"
- ReadINIStr $R4 $INI "Field 5" "State"
- ReadINIStr $0 $INI "Settings" "State"
- StrCmp $0 6 view
- StrCmp $0 0 Enter
- goto main
- view:
- StrCpy $0 '$$'
- StrCpy $1 'n'
- StrCpy $2 'r'
- StrCmp $R4 "LocateCallback" 0 +3
- StrCpy $R0 `Function LocateCallback$\r$\n MessageBox MB_OKCANCEL '$0$$R9 "path\name"=[$$R9]$0\$1$0$$R8 "path" =[$$R8]$0\$1$0$$R7 "name" =[$$R7]$0\$1$0$$R6 "size" =[$$R6]' IDOK +2$\r$\n StrCpy $$R0 StopLocate$\r$\n$\r$\n Push $$R0$\r$\nFunctionEnd`
- goto send
- StrCmp $R4 "GetDrivesCallback" 0 error
- StrCpy $R0 `Function GetDrivesCallback$\r$\n MessageBox MB_OKCANCEL '$0$$9 "drive letter"=[$$9]$0\$1$0$$8 "drive type" =[$$8]' IDOK +2$\r$\n StrCpy $$R0 StopGetDrives$\r$\n StrCpy $$R5 '$$R5$$9 [$$8 Drive]$$\$2$$\$1'$\r$\n$\r$\n Push $$R0$\r$\nFunctionEnd`
- goto send
- main:
- StrCmp $FUNCTION '' DefaultSend
- StrCmp $FUNCTION Locate 0 +4
- StrCpy $LOCATE1 $R2
- StrCpy $LOCATE2 $R3
- goto DefaultSend
- StrCmp $FUNCTION GetSize1 0 +4
- StrCpy $GETSIZE1 $R2
- StrCpy $GETSIZE2 $R3
- goto DefaultSend
- StrCmp $FUNCTION GetSize2 0 +4
- StrCpy $GETSIZE3 $R2
- StrCpy $GETSIZE4 $R3
- goto DefaultSend
- StrCmp $FUNCTION GetSize3 0 +4
- StrCpy $GETSIZE5 $R2
- StrCpy $GETSIZE6 $R3
- goto DefaultSend
- StrCmp $FUNCTION DriveSpace 0 +4
- StrCpy $DRIVESPACE1 $R1
- StrCpy $DRIVESPACE2 $R3
- goto DefaultSend
- StrCmp $FUNCTION GetDrives 0 +3
- StrCpy $GETDRIVES1 $R1
- goto DefaultSend
- StrCmp $FUNCTION GetTime 0 +4
- StrCpy $GETTIME1 $R1
- StrCpy $GETTIME2 $R3
- goto DefaultSend
- StrCmp $FUNCTION GetFileAttributes 0 +4
- StrCpy $GETFILEATTRIBUTES1 $R1
- StrCpy $GETFILEATTRIBUTES2 $R3
- goto DefaultSend
- StrCmp $FUNCTION GetFileVersion 0 +3
- StrCpy $GETFILEVERSION1 $R1
- goto DefaultSend
- StrCmp $FUNCTION GetOptions 0 +4
- StrCpy $GETOPTIONS1 $R1
- StrCpy $GETOPTIONS2 $R3
- goto DefaultSend
- StrCmp $FUNCTION GetRoot 0 +3
- StrCpy $GETROOT1 $R1
- goto DefaultSend
- StrCmp $FUNCTION GetParent 0 +3
- StrCpy $GETPARENT1 $R1
- goto DefaultSend
- StrCmp $FUNCTION GetFileName 0 +3
- StrCpy $GETFILENAME1 $R1
- goto DefaultSend
- StrCmp $FUNCTION GetBaseName 0 +3
- StrCpy $GETBASENAME1 $R1
- goto DefaultSend
- StrCmp $FUNCTION GetFileExt 0 +3
- StrCpy $GETFILEEXT1 $R1
- goto DefaultSend
- StrCmp $FUNCTION BannerTrimPath 0 +4
- StrCpy $BANNERTRIMPATH1 $R1
- StrCpy $BANNERTRIMPATH2 $R3
- goto DefaultSend
- StrCmp $FUNCTION DirState 0 +2
- StrCpy $DIRSTATE1 $R2
- DefaultSend:
- GetDlgItem $1 $HWND 1201
- EnableWindow $1 1
- ShowWindow $1 0
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1202
- EnableWindow $1 1
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1203
- EnableWindow $1 1
- ShowWindow $1 0
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1204
- EnableWindow $1 1
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1205
- EnableWindow $1 1
- GetDlgItem $1 $HWND 1206
- ShowWindow $1 0
- EnableWindow $1 0
- GetDlgItem $1 $HWND 1207
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1208
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- ReadINIStr $0 $INI "Field 1" "State"
- StrCmp $0 " 1. Locate" 0 GetSize1Send
- StrCpy $FUNCTION Locate
- GetDlgItem $1 $HWND 1203
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$LOCATE1"
- GetDlgItem $1 $HWND 1204
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$LOCATE2"
- GetDlgItem $1 $HWND 1206
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:LocateCallback"
- GetDlgItem $1 $HWND 1207
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Path"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Options"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Function"
- abort
- GetSize1Send:
- StrCmp $0 " 2. GetSize (file)" 0 GetSize2Send
- StrCpy $FUNCTION 'GetSize1'
- GetDlgItem $1 $HWND 1203
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE1"
- GetDlgItem $1 $HWND 1204
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE2"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:File"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Options"
- Abort
- GetSize2Send:
- StrCmp $0 " (directory)" 0 GetSize3Send
- StrCpy $FUNCTION 'GetSize2'
- GetDlgItem $1 $HWND 1203
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE3"
- GetDlgItem $1 $HWND 1204
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE4"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Directory"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Options"
- Abort
- GetSize3Send:
- StrCmp $0 " (no size, no subdir)" 0 DriveSpaceSend
- StrCpy $FUNCTION 'GetSize3'
- GetDlgItem $1 $HWND 1203
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE5"
- GetDlgItem $1 $HWND 1204
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE6"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Directory"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Options"
- Abort
- DriveSpaceSend:
- StrCmp $0 " 3. DriveSpace" 0 GetDrivesSend
- StrCpy $FUNCTION DriveSpace
- GetDlgItem $1 $HWND 1201
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$DRIVESPACE1"
- GetDlgItem $1 $HWND 1202
- ShowWindow $1 1
- EnableWindow $1 0
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$DRIVESPACE2"
- GetDlgItem $1 $HWND 1206
- ShowWindow $1 0
- SendMessage $1 ${WM_SETTEXT} 1 "STR:"
- GetDlgItem $1 $HWND 1207
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Drive"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Options"
- abort
- GetDrivesSend:
- StrCmp $0 " 4. GetDrives (by type)" 0 GetDrives2Send
- StrCpy $FUNCTION GetDrives
- GetDlgItem $1 $HWND 1201
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETDRIVES1"
- GetDlgItem $1 $HWND 1202
- ShowWindow $1 1
- EnableWindow $1 0
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1206
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:GetDrivesCallback"
- GetDlgItem $1 $HWND 1207
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Function"
- abort
- GetDrives2Send:
- StrCmp $0 " (all by letter)" 0 GetTime1Send
- StrCpy $FUNCTION ''
- GetDlgItem $1 $HWND 1201
- ShowWindow $1 1
- EnableWindow $1 0
- SendMessage $1 ${WM_ENABLE} 1 0
- SendMessage $1 ${WM_SETTEXT} 1 "STR:ALL"
- GetDlgItem $1 $HWND 1202
- ShowWindow $1 1
- EnableWindow $1 0
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1206
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:GetDrivesCallback"
- GetDlgItem $1 $HWND 1207
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
- GetDlgItem $1 $HWND 1211
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Function"
- abort
- GetTime1Send:
- StrCmp $0 " 5. GetTime (local time)" 0 GetTime2Send
- StrCpy $FUNCTION ''
- GetDlgItem $1 $HWND 1201
- ShowWindow $1 1
- EnableWindow $1 0
- SendMessage $1 ${WM_ENABLE} 1 0
- GetDlgItem $1 $HWND 1202
- ShowWindow $1 1
- EnableWindow $1 0
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 1
- EnableWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:L"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
- Abort
- GetTime2Send:
- StrCmp $0 " (file time)" 0 GetFileAttributesSend
- StrCpy $FUNCTION GetTime
- GetDlgItem $1 $HWND 1201
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETTIME1"
- GetDlgItem $1 $HWND 1202
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETTIME2"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:File"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
- Abort
- GetFileAttributesSend:
- StrCmp $0 " 6. GetFileAttributes" 0 GetFileVersionSend
- StrCpy $FUNCTION GetFileAttributes
- GetDlgItem $1 $HWND 1201
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETFILEATTRIBUTES1"
- GetDlgItem $1 $HWND 1202
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETFILEATTRIBUTES2"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Path"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Attrib"
- Abort
- GetFileVersionSend:
- StrCmp $0 " 7. GetFileVersion" 0 GetCmdSend
- StrCpy $FUNCTION GetFileVersion
- GetDlgItem $1 $HWND 1201
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETFILEVERSION1"
- GetDlgItem $1 $HWND 1202
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:File"
- Abort
- GetCmdSend:
- StrCmp $0 " 8. GetExeName" +3
- StrCmp $0 " 9. GetExePath" +2
- StrCmp $0 "10. GetParameters" 0 GetOptionsSend
- StrCpy $FUNCTION ''
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 0
- Abort
- GetOptionsSend:
- StrCmp $0 "11. GetOptions" 0 GetRootSend
- StrCpy $FUNCTION GetOptions
- GetDlgItem $1 $HWND 1201
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETOPTIONS1"
- GetDlgItem $1 $HWND 1202
- ShowWindow $1 1
- EnableWindow $1 0
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETOPTIONS2"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Parameters"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
- Abort
- GetRootSend:
- StrCmp $0 "12. GetRoot" 0 GetParentSend
- StrCpy $FUNCTION GetRoot
- GetDlgItem $1 $HWND 1201
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETROOT1"
- GetDlgItem $1 $HWND 1202
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:FullPath"
- Abort
- GetParentSend:
- StrCmp $0 "13. GetParent" 0 GetFileNameSend
- StrCpy $FUNCTION GetParent
- GetDlgItem $1 $HWND 1201
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETPARENT1"
- GetDlgItem $1 $HWND 1202
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:PathString"
- Abort
- GetFileNameSend:
- StrCmp $0 "14. GetFileName" 0 GetBaseNameSend
- StrCpy $FUNCTION GetFileName
- GetDlgItem $1 $HWND 1201
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETFILENAME1"
- GetDlgItem $1 $HWND 1202
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:PathString"
- Abort
- GetBaseNameSend:
- StrCmp $0 "15. GetBaseName" 0 GetFileExtSend
- StrCpy $FUNCTION GetBaseName
- GetDlgItem $1 $HWND 1201
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETBASENAME1"
- GetDlgItem $1 $HWND 1202
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:FileString"
- Abort
- GetFileExtSend:
- StrCmp $0 "16. GetFileExt" 0 BannerTrimPathSend
- StrCpy $FUNCTION GetFileExt
- GetDlgItem $1 $HWND 1201
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETFILEEXT1"
- GetDlgItem $1 $HWND 1202
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:FileString"
- Abort
- BannerTrimPathSend:
- StrCmp $0 "17. BannerTrimPath" 0 DirStateSend
- StrCpy $FUNCTION BannerTrimPath
- GetDlgItem $1 $HWND 1201
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$BANNERTRIMPATH1"
- GetDlgItem $1 $HWND 1202
- ShowWindow $1 1
- EnableWindow $1 0
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$BANNERTRIMPATH2"
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:PathString"
- GetDlgItem $1 $HWND 1210
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Option"
- Abort
- DirStateSend:
- StrCmp $0 "18. DirState" 0 RefreshShellIconsSend
- StrCpy $FUNCTION DirState
- GetDlgItem $1 $HWND 1203
- ShowWindow $1 1
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$DIRSTATE1"
- GetDlgItem $1 $HWND 1204
- ShowWindow $1 1
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 0
- GetDlgItem $1 $HWND 1209
- SendMessage $1 ${WM_SETTEXT} 1 "STR:Directory"
- Abort
- RefreshShellIconsSend:
- StrCmp $0 "19. RefreshShellIcons" 0 Abort
- StrCpy $FUNCTION ''
- GetDlgItem $1 $HWND 1205
- ShowWindow $1 0
- Abort:
- Abort
- ;=Enter=
- Enter:
- StrCpy $R0 ''
- StrCpy $R5 ''
- StrCmp $STATE " 1. Locate" Locate
- StrCmp $STATE " 2. GetSize (file)" GetSize
- StrCmp $STATE " (directory)" GetSize
- StrCmp $STATE " (no size, no subdir)" GetSize
- StrCmp $STATE " 3. DriveSpace" DriveSpace
- StrCmp $STATE " 4. GetDrives (by type)" GetDrives
- StrCmp $STATE " (all by letter)" GetDrives
- StrCmp $STATE " 5. GetTime (local time)" GetTime
- StrCmp $STATE " (file time)" GetTime
- StrCmp $STATE " 6. GetFileAttributes" GetFileAttributes
- StrCmp $STATE " 7. GetFileVersion" GetFileVersion
- StrCmp $STATE " 8. GetExeName" GetExeName
- StrCmp $STATE " 9. GetExePath" GetExePath
- StrCmp $STATE "10. GetParameters" GetParameters
- StrCmp $STATE "11. GetOptions" GetOptions
- StrCmp $STATE "12. GetRoot" GetRoot
- StrCmp $STATE "13. GetParent" GetParent
- StrCmp $STATE "14. GetFileName" GetFileName
- StrCmp $STATE "15. GetBaseName" GetBaseName
- StrCmp $STATE "16. GetFileExt" GetFileExt
- StrCmp $STATE "17. BannerTrimPath" BannerTrimPath
- StrCmp $STATE "18. DirState" DirState
- StrCmp $STATE "19. RefreshShellIcons" RefreshShellIcons
- Abort
- Locate:
- ${Locate} "$R2" "$R3" "LocateCallback"
- IfErrors error
- StrCmp $R0 StopLocate 0 +3
- StrCpy $R0 'stopped'
- goto send
- StrCpy $R0 'done'
- goto send
- GetSize:
- ${GetSize} "$R2" "$R3" $0 $1 $2
- IfErrors error
- StrCpy $R0 "Size=$0$\r$\nFiles=$1$\r$\nFolders=$2"
- goto send
- DriveSpace:
- ${DriveSpace} "$R1" "$R3" $0
- IfErrors error
- StrCpy $R0 "$0"
- goto send
- GetDrives:
- ${GetDrives} "$R1" "GetDrivesCallback"
- StrCmp $R0 StopGetDrives 0 +3
- StrCpy $R0 '$R5stopped'
- goto send
- StrCpy $R0 '$R5done'
- goto send
- GetTime:
- ${GetTime} "$R1" "$R3" $0 $1 $2 $3 $4 $5 $6
- IfErrors error
- StrCpy $R0 'Date=$0/$1/$2 ($3)$\r$\nTime=$4:$5:$6'
- goto send
- GetFileAttributes:
- ${GetFileAttributes} "$R1" "$R3" $0
- IfErrors error
- StrCpy $R0 '$0'
- goto send
- GetFileVersion:
- ${GetFileVersion} "$R1" $0
- IfErrors error
- StrCpy $R0 '$0'
- goto send
- GetExeName:
- ${GetExeName} $0
- StrCpy $R0 '$0'
- goto send
- GetExePath:
- ${GetExePath} $0
- StrCpy $R0 '$0'
- goto send
- GetParameters:
- ${GetParameters} $0
- StrCpy $R0 '$0'
- StrCmp $R0 '' 0 send
- StrCpy $R0 'no parameters'
- goto send
- GetOptions:
- ${GetOptions} "$R1" "$R3" $0
- IfErrors error
- StrCpy $R0 '$0'
- goto send
- GetRoot:
- ${GetRoot} "$R1" $0
- StrCpy $R0 '$0'
- goto send
- GetParent:
- ${GetParent} "$R1" $0
- StrCpy $R0 '$0'
- goto send
- GetFileName:
- ${GetFileName} "$R1" $0
- StrCpy $R0 '$0'
- goto send
- GetBaseName:
- ${GetBaseName} "$R1" $0
- StrCpy $R0 '$0'
- goto send
- GetFileExt:
- ${GetFileExt} "$R1" $0
- StrCpy $R0 '$0'
- goto send
- BannerTrimPath:
- ${BannerTrimPath} "$R1" "$R3" $0
- StrCpy $R0 '$0'
- goto send
- DirState:
- ${DirState} "$R2" $0
- StrCpy $R0 '$0'
- goto send
- RefreshShellIcons:
- ${RefreshShellIcons}
- StrCpy $R0 'done'
- goto send
- error:
- StrCpy $R0 'error'
- send:
- GetDlgItem $1 $HWND 1208
- SendMessage $1 ${WM_SETTEXT} 1 "STR:$R0"
- abort
- FunctionEnd
- Function LocateCallback
- MessageBox MB_OKCANCEL '$$R9 "path\name"=[$R9]$\n$$R8 "path" =[$R8]$\n$$R7 "name" =[$R7]$\n$$R6 "size" =[$R6]' IDOK +2
- StrCpy $R0 StopLocate
- Push $R0
- FunctionEnd
- Function GetDrivesCallback
- MessageBox MB_OKCANCEL '$$9 "drive letter"=[$9]$\n$$8 "drive type" =[$8]' IDOK +2
- StrCpy $R0 StopGetDrives
- StrCpy $R5 '$R5$9 [$8 Drive]$\r$\n'
- Push $R0
- FunctionEnd
- Function .onInit
- InitPluginsDir
- GetTempFileName $INI $PLUGINSDIR
- File /oname=$INI "FileFunc.ini"
- FunctionEnd
- Page instfiles
- Section "Empty"
- SectionEnd
|