733 lines
18 KiB
Plaintext
733 lines
18 KiB
Plaintext
;_____________________________________________________________________________
|
|
;
|
|
; 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
|