root / tmp / org.txm.setups / nsis-2.5 / Examples / FileFunc.nsi @ 3108
Historique | Voir | Annoter | Télécharger (18,93 ko)
1 |
;_____________________________________________________________________________ |
---|---|
2 |
; |
3 |
; File Functions |
4 |
;_____________________________________________________________________________ |
5 |
; |
6 |
; 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru) |
7 |
|
8 |
Name "File Functions" |
9 |
OutFile "FileFunc.exe" |
10 |
Caption "$(^Name)" |
11 |
XPStyle on |
12 |
RequestExecutionLevel user |
13 |
|
14 |
!include "WinMessages.nsh" |
15 |
!include "FileFunc.nsh" |
16 |
|
17 |
Var INI |
18 |
Var HWND |
19 |
Var STATE |
20 |
Var FUNCTION |
21 |
Var LOCATE1 |
22 |
Var LOCATE2 |
23 |
Var GETSIZE1 |
24 |
Var GETSIZE2 |
25 |
Var GETSIZE3 |
26 |
Var GETSIZE4 |
27 |
Var GETSIZE5 |
28 |
Var GETSIZE6 |
29 |
Var DRIVESPACE1 |
30 |
Var DRIVESPACE2 |
31 |
Var GETDRIVES1 |
32 |
Var GETTIME1 |
33 |
Var GETTIME2 |
34 |
Var GETFILEATTRIBUTES1 |
35 |
Var GETFILEATTRIBUTES2 |
36 |
Var GETFILEVERSION1 |
37 |
Var GETOPTIONS1 |
38 |
Var GETOPTIONS2 |
39 |
Var GETROOT1 |
40 |
Var GETPARENT1 |
41 |
Var GETFILENAME1 |
42 |
Var GETBASENAME1 |
43 |
Var GETFILEEXT1 |
44 |
Var BANNERTRIMPATH1 |
45 |
Var BANNERTRIMPATH2 |
46 |
Var DIRSTATE1 |
47 |
|
48 |
Page Custom ShowCustom LeaveCustom |
49 |
|
50 |
Function ShowCustom |
51 |
InstallOptions::initDialog "$INI" |
52 |
Pop $hwnd |
53 |
GetDlgItem $1 $HWND 1201 |
54 |
ShowWindow $1 0 |
55 |
GetDlgItem $1 $HWND 1202 |
56 |
ShowWindow $1 0 |
57 |
GetDlgItem $1 $HWND 1206 |
58 |
EnableWindow $1 0 |
59 |
SendMessage $1 ${WM_ENABLE} 1 0 |
60 |
StrCpy $LOCATE1 $DOCUMENTS |
61 |
StrCpy $LOCATE2 '/L=FD /M=*.* /S=0B /G=1 /B=0' |
62 |
StrCpy $GETSIZE1 '$WINDIR' |
63 |
StrCpy $GETSIZE2 '/M=Explorer.exe /S=0K /G=0' |
64 |
StrCpy $GETSIZE3 '$PROGRAMFILES\Common Files' |
65 |
StrCpy $GETSIZE4 '/S=0M' |
66 |
StrCpy $GETSIZE5 '$WINDIR' |
67 |
StrCpy $GETSIZE6 '/G=0' |
68 |
StrCpy $DRIVESPACE1 'C:\' |
69 |
StrCpy $DRIVESPACE2 '/D=F /S=M' |
70 |
StrCpy $GETDRIVES1 'FDD+CDROM' |
71 |
StrCpy $GETTIME1 '$WINDIR\Explorer.exe' |
72 |
StrCpy $GETTIME2 'C' |
73 |
StrCpy $GETFILEATTRIBUTES1 'C:\IO.SYS' |
74 |
StrCpy $GETFILEATTRIBUTES2 'ALL' |
75 |
StrCpy $GETFILEVERSION1 '$WINDIR\Explorer.exe' |
76 |
StrCpy $GETOPTIONS1 '/SILENT=yes /INSTDIR="$PROGRAMFILES\Common Files"' |
77 |
StrCpy $GETOPTIONS2 '/INSTDIR=' |
78 |
StrCpy $GETROOT1 'C:\path\file.dll' |
79 |
StrCpy $GETPARENT1 'C:\path\file.dll' |
80 |
StrCpy $GETFILENAME1 'C:\path\file.dll' |
81 |
StrCpy $GETBASENAME1 'C:\path\file.dll' |
82 |
StrCpy $GETFILEEXT1 'C:\path\file.dll' |
83 |
StrCpy $BANNERTRIMPATH1 'C:\Server\Documents\Terminal\license.htm' |
84 |
StrCpy $BANNERTRIMPATH2 '34A' |
85 |
StrCpy $DIRSTATE1 '$TEMP' |
86 |
|
87 |
GetDlgItem $1 $HWND 1203 |
88 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$LOCATE1" |
89 |
GetDlgItem $1 $HWND 1205 |
90 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$LOCATE2" |
91 |
InstallOptions::show |
92 |
Pop $0 |
93 |
FunctionEnd |
94 |
|
95 |
Function LeaveCustom |
96 |
ReadINIStr $STATE $INI "Field 1" "State" |
97 |
ReadINIStr $R1 $INI "Field 2" "State" |
98 |
ReadINIStr $R2 $INI "Field 3" "State" |
99 |
ReadINIStr $R3 $INI "Field 4" "State" |
100 |
ReadINIStr $R4 $INI "Field 5" "State" |
101 |
ReadINIStr $0 $INI "Settings" "State" |
102 |
StrCmp $0 6 view |
103 |
StrCmp $0 0 Enter |
104 |
goto main |
105 |
|
106 |
view: |
107 |
StrCpy $0 '$$' |
108 |
StrCpy $1 'n' |
109 |
StrCpy $2 'r' |
110 |
StrCmp $R4 "LocateCallback" 0 +3 |
111 |
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` |
112 |
goto send |
113 |
StrCmp $R4 "GetDrivesCallback" 0 error |
114 |
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` |
115 |
goto send |
116 |
|
117 |
main: |
118 |
StrCmp $FUNCTION '' DefaultSend |
119 |
StrCmp $FUNCTION Locate 0 +4 |
120 |
StrCpy $LOCATE1 $R2 |
121 |
StrCpy $LOCATE2 $R3 |
122 |
goto DefaultSend |
123 |
StrCmp $FUNCTION GetSize1 0 +4 |
124 |
StrCpy $GETSIZE1 $R2 |
125 |
StrCpy $GETSIZE2 $R3 |
126 |
goto DefaultSend |
127 |
StrCmp $FUNCTION GetSize2 0 +4 |
128 |
StrCpy $GETSIZE3 $R2 |
129 |
StrCpy $GETSIZE4 $R3 |
130 |
goto DefaultSend |
131 |
StrCmp $FUNCTION GetSize3 0 +4 |
132 |
StrCpy $GETSIZE5 $R2 |
133 |
StrCpy $GETSIZE6 $R3 |
134 |
goto DefaultSend |
135 |
StrCmp $FUNCTION DriveSpace 0 +4 |
136 |
StrCpy $DRIVESPACE1 $R1 |
137 |
StrCpy $DRIVESPACE2 $R3 |
138 |
goto DefaultSend |
139 |
StrCmp $FUNCTION GetDrives 0 +3 |
140 |
StrCpy $GETDRIVES1 $R1 |
141 |
goto DefaultSend |
142 |
StrCmp $FUNCTION GetTime 0 +4 |
143 |
StrCpy $GETTIME1 $R1 |
144 |
StrCpy $GETTIME2 $R3 |
145 |
goto DefaultSend |
146 |
StrCmp $FUNCTION GetFileAttributes 0 +4 |
147 |
StrCpy $GETFILEATTRIBUTES1 $R1 |
148 |
StrCpy $GETFILEATTRIBUTES2 $R3 |
149 |
goto DefaultSend |
150 |
StrCmp $FUNCTION GetFileVersion 0 +3 |
151 |
StrCpy $GETFILEVERSION1 $R1 |
152 |
goto DefaultSend |
153 |
StrCmp $FUNCTION GetOptions 0 +4 |
154 |
StrCpy $GETOPTIONS1 $R1 |
155 |
StrCpy $GETOPTIONS2 $R3 |
156 |
goto DefaultSend |
157 |
StrCmp $FUNCTION GetRoot 0 +3 |
158 |
StrCpy $GETROOT1 $R1 |
159 |
goto DefaultSend |
160 |
StrCmp $FUNCTION GetParent 0 +3 |
161 |
StrCpy $GETPARENT1 $R1 |
162 |
goto DefaultSend |
163 |
StrCmp $FUNCTION GetFileName 0 +3 |
164 |
StrCpy $GETFILENAME1 $R1 |
165 |
goto DefaultSend |
166 |
StrCmp $FUNCTION GetBaseName 0 +3 |
167 |
StrCpy $GETBASENAME1 $R1 |
168 |
goto DefaultSend |
169 |
StrCmp $FUNCTION GetFileExt 0 +3 |
170 |
StrCpy $GETFILEEXT1 $R1 |
171 |
goto DefaultSend |
172 |
StrCmp $FUNCTION BannerTrimPath 0 +4 |
173 |
StrCpy $BANNERTRIMPATH1 $R1 |
174 |
StrCpy $BANNERTRIMPATH2 $R3 |
175 |
goto DefaultSend |
176 |
StrCmp $FUNCTION DirState 0 +2 |
177 |
StrCpy $DIRSTATE1 $R2 |
178 |
|
179 |
DefaultSend: |
180 |
GetDlgItem $1 $HWND 1201 |
181 |
EnableWindow $1 1 |
182 |
ShowWindow $1 0 |
183 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:" |
184 |
GetDlgItem $1 $HWND 1202 |
185 |
EnableWindow $1 1 |
186 |
ShowWindow $1 0 |
187 |
GetDlgItem $1 $HWND 1203 |
188 |
EnableWindow $1 1 |
189 |
ShowWindow $1 0 |
190 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:" |
191 |
GetDlgItem $1 $HWND 1204 |
192 |
EnableWindow $1 1 |
193 |
ShowWindow $1 0 |
194 |
GetDlgItem $1 $HWND 1205 |
195 |
EnableWindow $1 1 |
196 |
GetDlgItem $1 $HWND 1206 |
197 |
ShowWindow $1 0 |
198 |
EnableWindow $1 0 |
199 |
GetDlgItem $1 $HWND 1207 |
200 |
ShowWindow $1 0 |
201 |
GetDlgItem $1 $HWND 1208 |
202 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:" |
203 |
GetDlgItem $1 $HWND 1209 |
204 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:" |
205 |
GetDlgItem $1 $HWND 1210 |
206 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:" |
207 |
GetDlgItem $1 $HWND 1211 |
208 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:" |
209 |
|
210 |
ReadINIStr $0 $INI "Field 1" "State" |
211 |
StrCmp $0 " 1. Locate" 0 GetSize1Send |
212 |
StrCpy $FUNCTION Locate |
213 |
GetDlgItem $1 $HWND 1203 |
214 |
ShowWindow $1 1 |
215 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$LOCATE1" |
216 |
GetDlgItem $1 $HWND 1204 |
217 |
ShowWindow $1 1 |
218 |
GetDlgItem $1 $HWND 1205 |
219 |
ShowWindow $1 1 |
220 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$LOCATE2" |
221 |
GetDlgItem $1 $HWND 1206 |
222 |
ShowWindow $1 1 |
223 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:LocateCallback" |
224 |
GetDlgItem $1 $HWND 1207 |
225 |
ShowWindow $1 1 |
226 |
GetDlgItem $1 $HWND 1209 |
227 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Path" |
228 |
GetDlgItem $1 $HWND 1210 |
229 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Options" |
230 |
GetDlgItem $1 $HWND 1211 |
231 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Function" |
232 |
abort |
233 |
|
234 |
GetSize1Send: |
235 |
StrCmp $0 " 2. GetSize (file)" 0 GetSize2Send |
236 |
StrCpy $FUNCTION 'GetSize1' |
237 |
GetDlgItem $1 $HWND 1203 |
238 |
ShowWindow $1 1 |
239 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE1" |
240 |
GetDlgItem $1 $HWND 1204 |
241 |
ShowWindow $1 1 |
242 |
GetDlgItem $1 $HWND 1205 |
243 |
ShowWindow $1 1 |
244 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE2" |
245 |
GetDlgItem $1 $HWND 1209 |
246 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:File" |
247 |
GetDlgItem $1 $HWND 1210 |
248 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Options" |
249 |
Abort |
250 |
|
251 |
GetSize2Send: |
252 |
StrCmp $0 " (directory)" 0 GetSize3Send |
253 |
StrCpy $FUNCTION 'GetSize2' |
254 |
GetDlgItem $1 $HWND 1203 |
255 |
ShowWindow $1 1 |
256 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE3" |
257 |
GetDlgItem $1 $HWND 1204 |
258 |
ShowWindow $1 1 |
259 |
GetDlgItem $1 $HWND 1205 |
260 |
ShowWindow $1 1 |
261 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE4" |
262 |
GetDlgItem $1 $HWND 1209 |
263 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Directory" |
264 |
GetDlgItem $1 $HWND 1210 |
265 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Options" |
266 |
Abort |
267 |
|
268 |
GetSize3Send: |
269 |
StrCmp $0 " (no size, no subdir)" 0 DriveSpaceSend |
270 |
StrCpy $FUNCTION 'GetSize3' |
271 |
GetDlgItem $1 $HWND 1203 |
272 |
ShowWindow $1 1 |
273 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE5" |
274 |
GetDlgItem $1 $HWND 1204 |
275 |
ShowWindow $1 1 |
276 |
GetDlgItem $1 $HWND 1205 |
277 |
ShowWindow $1 1 |
278 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETSIZE6" |
279 |
GetDlgItem $1 $HWND 1209 |
280 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Directory" |
281 |
GetDlgItem $1 $HWND 1210 |
282 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Options" |
283 |
Abort |
284 |
|
285 |
DriveSpaceSend: |
286 |
StrCmp $0 " 3. DriveSpace" 0 GetDrivesSend |
287 |
StrCpy $FUNCTION DriveSpace |
288 |
GetDlgItem $1 $HWND 1201 |
289 |
ShowWindow $1 1 |
290 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$DRIVESPACE1" |
291 |
GetDlgItem $1 $HWND 1202 |
292 |
ShowWindow $1 1 |
293 |
EnableWindow $1 0 |
294 |
GetDlgItem $1 $HWND 1205 |
295 |
ShowWindow $1 1 |
296 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$DRIVESPACE2" |
297 |
GetDlgItem $1 $HWND 1206 |
298 |
ShowWindow $1 0 |
299 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:" |
300 |
GetDlgItem $1 $HWND 1207 |
301 |
ShowWindow $1 0 |
302 |
GetDlgItem $1 $HWND 1209 |
303 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Drive" |
304 |
GetDlgItem $1 $HWND 1210 |
305 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Options" |
306 |
abort |
307 |
|
308 |
GetDrivesSend: |
309 |
StrCmp $0 " 4. GetDrives (by type)" 0 GetDrives2Send |
310 |
StrCpy $FUNCTION GetDrives |
311 |
GetDlgItem $1 $HWND 1201 |
312 |
ShowWindow $1 1 |
313 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETDRIVES1" |
314 |
GetDlgItem $1 $HWND 1202 |
315 |
ShowWindow $1 1 |
316 |
EnableWindow $1 0 |
317 |
GetDlgItem $1 $HWND 1205 |
318 |
ShowWindow $1 0 |
319 |
GetDlgItem $1 $HWND 1206 |
320 |
ShowWindow $1 1 |
321 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:GetDrivesCallback" |
322 |
GetDlgItem $1 $HWND 1207 |
323 |
ShowWindow $1 1 |
324 |
GetDlgItem $1 $HWND 1209 |
325 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Option" |
326 |
GetDlgItem $1 $HWND 1211 |
327 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Function" |
328 |
abort |
329 |
|
330 |
GetDrives2Send: |
331 |
StrCmp $0 " (all by letter)" 0 GetTime1Send |
332 |
StrCpy $FUNCTION '' |
333 |
GetDlgItem $1 $HWND 1201 |
334 |
ShowWindow $1 1 |
335 |
EnableWindow $1 0 |
336 |
SendMessage $1 ${WM_ENABLE} 1 0 |
337 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:ALL" |
338 |
GetDlgItem $1 $HWND 1202 |
339 |
ShowWindow $1 1 |
340 |
EnableWindow $1 0 |
341 |
GetDlgItem $1 $HWND 1205 |
342 |
ShowWindow $1 0 |
343 |
GetDlgItem $1 $HWND 1206 |
344 |
ShowWindow $1 1 |
345 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:GetDrivesCallback" |
346 |
GetDlgItem $1 $HWND 1207 |
347 |
ShowWindow $1 1 |
348 |
GetDlgItem $1 $HWND 1209 |
349 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Option" |
350 |
GetDlgItem $1 $HWND 1211 |
351 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Function" |
352 |
abort |
353 |
|
354 |
GetTime1Send: |
355 |
StrCmp $0 " 5. GetTime (local time)" 0 GetTime2Send |
356 |
StrCpy $FUNCTION '' |
357 |
GetDlgItem $1 $HWND 1201 |
358 |
ShowWindow $1 1 |
359 |
EnableWindow $1 0 |
360 |
SendMessage $1 ${WM_ENABLE} 1 0 |
361 |
GetDlgItem $1 $HWND 1202 |
362 |
ShowWindow $1 1 |
363 |
EnableWindow $1 0 |
364 |
GetDlgItem $1 $HWND 1205 |
365 |
ShowWindow $1 1 |
366 |
EnableWindow $1 1 |
367 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:L" |
368 |
GetDlgItem $1 $HWND 1210 |
369 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Option" |
370 |
Abort |
371 |
|
372 |
GetTime2Send: |
373 |
StrCmp $0 " (file time)" 0 GetFileAttributesSend |
374 |
StrCpy $FUNCTION GetTime |
375 |
GetDlgItem $1 $HWND 1201 |
376 |
ShowWindow $1 1 |
377 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETTIME1" |
378 |
GetDlgItem $1 $HWND 1202 |
379 |
ShowWindow $1 1 |
380 |
GetDlgItem $1 $HWND 1205 |
381 |
ShowWindow $1 1 |
382 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETTIME2" |
383 |
GetDlgItem $1 $HWND 1209 |
384 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:File" |
385 |
GetDlgItem $1 $HWND 1210 |
386 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Option" |
387 |
Abort |
388 |
|
389 |
GetFileAttributesSend: |
390 |
StrCmp $0 " 6. GetFileAttributes" 0 GetFileVersionSend |
391 |
StrCpy $FUNCTION GetFileAttributes |
392 |
GetDlgItem $1 $HWND 1201 |
393 |
ShowWindow $1 1 |
394 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETFILEATTRIBUTES1" |
395 |
GetDlgItem $1 $HWND 1202 |
396 |
ShowWindow $1 1 |
397 |
GetDlgItem $1 $HWND 1205 |
398 |
ShowWindow $1 1 |
399 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETFILEATTRIBUTES2" |
400 |
GetDlgItem $1 $HWND 1209 |
401 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Path" |
402 |
GetDlgItem $1 $HWND 1210 |
403 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Attrib" |
404 |
Abort |
405 |
|
406 |
GetFileVersionSend: |
407 |
StrCmp $0 " 7. GetFileVersion" 0 GetCmdSend |
408 |
StrCpy $FUNCTION GetFileVersion |
409 |
GetDlgItem $1 $HWND 1201 |
410 |
ShowWindow $1 1 |
411 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETFILEVERSION1" |
412 |
GetDlgItem $1 $HWND 1202 |
413 |
ShowWindow $1 1 |
414 |
GetDlgItem $1 $HWND 1205 |
415 |
ShowWindow $1 0 |
416 |
GetDlgItem $1 $HWND 1209 |
417 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:File" |
418 |
Abort |
419 |
|
420 |
GetCmdSend: |
421 |
StrCmp $0 " 8. GetExeName" +3 |
422 |
StrCmp $0 " 9. GetExePath" +2 |
423 |
StrCmp $0 "10. GetParameters" 0 GetOptionsSend |
424 |
StrCpy $FUNCTION '' |
425 |
GetDlgItem $1 $HWND 1205 |
426 |
ShowWindow $1 0 |
427 |
Abort |
428 |
|
429 |
GetOptionsSend: |
430 |
StrCmp $0 "11. GetOptions" 0 GetRootSend |
431 |
StrCpy $FUNCTION GetOptions |
432 |
GetDlgItem $1 $HWND 1201 |
433 |
ShowWindow $1 1 |
434 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETOPTIONS1" |
435 |
GetDlgItem $1 $HWND 1202 |
436 |
ShowWindow $1 1 |
437 |
EnableWindow $1 0 |
438 |
GetDlgItem $1 $HWND 1205 |
439 |
ShowWindow $1 1 |
440 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETOPTIONS2" |
441 |
GetDlgItem $1 $HWND 1209 |
442 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Parameters" |
443 |
GetDlgItem $1 $HWND 1210 |
444 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Option" |
445 |
Abort |
446 |
|
447 |
GetRootSend: |
448 |
StrCmp $0 "12. GetRoot" 0 GetParentSend |
449 |
StrCpy $FUNCTION GetRoot |
450 |
GetDlgItem $1 $HWND 1201 |
451 |
ShowWindow $1 1 |
452 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETROOT1" |
453 |
GetDlgItem $1 $HWND 1202 |
454 |
ShowWindow $1 1 |
455 |
GetDlgItem $1 $HWND 1205 |
456 |
ShowWindow $1 0 |
457 |
GetDlgItem $1 $HWND 1209 |
458 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:FullPath" |
459 |
Abort |
460 |
|
461 |
GetParentSend: |
462 |
StrCmp $0 "13. GetParent" 0 GetFileNameSend |
463 |
StrCpy $FUNCTION GetParent |
464 |
GetDlgItem $1 $HWND 1201 |
465 |
ShowWindow $1 1 |
466 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETPARENT1" |
467 |
GetDlgItem $1 $HWND 1202 |
468 |
ShowWindow $1 1 |
469 |
GetDlgItem $1 $HWND 1205 |
470 |
ShowWindow $1 0 |
471 |
GetDlgItem $1 $HWND 1209 |
472 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:PathString" |
473 |
Abort |
474 |
|
475 |
GetFileNameSend: |
476 |
StrCmp $0 "14. GetFileName" 0 GetBaseNameSend |
477 |
StrCpy $FUNCTION GetFileName |
478 |
GetDlgItem $1 $HWND 1201 |
479 |
ShowWindow $1 1 |
480 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETFILENAME1" |
481 |
GetDlgItem $1 $HWND 1202 |
482 |
ShowWindow $1 1 |
483 |
GetDlgItem $1 $HWND 1205 |
484 |
ShowWindow $1 0 |
485 |
GetDlgItem $1 $HWND 1209 |
486 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:PathString" |
487 |
Abort |
488 |
|
489 |
GetBaseNameSend: |
490 |
StrCmp $0 "15. GetBaseName" 0 GetFileExtSend |
491 |
StrCpy $FUNCTION GetBaseName |
492 |
GetDlgItem $1 $HWND 1201 |
493 |
ShowWindow $1 1 |
494 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETBASENAME1" |
495 |
GetDlgItem $1 $HWND 1202 |
496 |
ShowWindow $1 1 |
497 |
GetDlgItem $1 $HWND 1205 |
498 |
ShowWindow $1 0 |
499 |
GetDlgItem $1 $HWND 1209 |
500 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:FileString" |
501 |
Abort |
502 |
|
503 |
GetFileExtSend: |
504 |
StrCmp $0 "16. GetFileExt" 0 BannerTrimPathSend |
505 |
StrCpy $FUNCTION GetFileExt |
506 |
GetDlgItem $1 $HWND 1201 |
507 |
ShowWindow $1 1 |
508 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$GETFILEEXT1" |
509 |
GetDlgItem $1 $HWND 1202 |
510 |
ShowWindow $1 1 |
511 |
GetDlgItem $1 $HWND 1205 |
512 |
ShowWindow $1 0 |
513 |
GetDlgItem $1 $HWND 1209 |
514 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:FileString" |
515 |
Abort |
516 |
|
517 |
BannerTrimPathSend: |
518 |
StrCmp $0 "17. BannerTrimPath" 0 DirStateSend |
519 |
StrCpy $FUNCTION BannerTrimPath |
520 |
GetDlgItem $1 $HWND 1201 |
521 |
ShowWindow $1 1 |
522 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$BANNERTRIMPATH1" |
523 |
GetDlgItem $1 $HWND 1202 |
524 |
ShowWindow $1 1 |
525 |
EnableWindow $1 0 |
526 |
GetDlgItem $1 $HWND 1205 |
527 |
ShowWindow $1 1 |
528 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$BANNERTRIMPATH2" |
529 |
GetDlgItem $1 $HWND 1209 |
530 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:PathString" |
531 |
GetDlgItem $1 $HWND 1210 |
532 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Option" |
533 |
Abort |
534 |
|
535 |
DirStateSend: |
536 |
StrCmp $0 "18. DirState" 0 RefreshShellIconsSend |
537 |
StrCpy $FUNCTION DirState |
538 |
GetDlgItem $1 $HWND 1203 |
539 |
ShowWindow $1 1 |
540 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$DIRSTATE1" |
541 |
GetDlgItem $1 $HWND 1204 |
542 |
ShowWindow $1 1 |
543 |
GetDlgItem $1 $HWND 1205 |
544 |
ShowWindow $1 0 |
545 |
GetDlgItem $1 $HWND 1209 |
546 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:Directory" |
547 |
Abort |
548 |
|
549 |
RefreshShellIconsSend: |
550 |
StrCmp $0 "19. RefreshShellIcons" 0 Abort |
551 |
StrCpy $FUNCTION '' |
552 |
GetDlgItem $1 $HWND 1205 |
553 |
ShowWindow $1 0 |
554 |
|
555 |
Abort: |
556 |
Abort |
557 |
|
558 |
;=Enter= |
559 |
Enter: |
560 |
StrCpy $R0 '' |
561 |
StrCpy $R5 '' |
562 |
|
563 |
StrCmp $STATE " 1. Locate" Locate |
564 |
StrCmp $STATE " 2. GetSize (file)" GetSize |
565 |
StrCmp $STATE " (directory)" GetSize |
566 |
StrCmp $STATE " (no size, no subdir)" GetSize |
567 |
StrCmp $STATE " 3. DriveSpace" DriveSpace |
568 |
StrCmp $STATE " 4. GetDrives (by type)" GetDrives |
569 |
StrCmp $STATE " (all by letter)" GetDrives |
570 |
StrCmp $STATE " 5. GetTime (local time)" GetTime |
571 |
StrCmp $STATE " (file time)" GetTime |
572 |
StrCmp $STATE " 6. GetFileAttributes" GetFileAttributes |
573 |
StrCmp $STATE " 7. GetFileVersion" GetFileVersion |
574 |
StrCmp $STATE " 8. GetExeName" GetExeName |
575 |
StrCmp $STATE " 9. GetExePath" GetExePath |
576 |
StrCmp $STATE "10. GetParameters" GetParameters |
577 |
StrCmp $STATE "11. GetOptions" GetOptions |
578 |
StrCmp $STATE "12. GetRoot" GetRoot |
579 |
StrCmp $STATE "13. GetParent" GetParent |
580 |
StrCmp $STATE "14. GetFileName" GetFileName |
581 |
StrCmp $STATE "15. GetBaseName" GetBaseName |
582 |
StrCmp $STATE "16. GetFileExt" GetFileExt |
583 |
StrCmp $STATE "17. BannerTrimPath" BannerTrimPath |
584 |
StrCmp $STATE "18. DirState" DirState |
585 |
StrCmp $STATE "19. RefreshShellIcons" RefreshShellIcons |
586 |
Abort |
587 |
|
588 |
Locate: |
589 |
${Locate} "$R2" "$R3" "LocateCallback" |
590 |
IfErrors error |
591 |
StrCmp $R0 StopLocate 0 +3 |
592 |
StrCpy $R0 'stopped' |
593 |
goto send |
594 |
StrCpy $R0 'done' |
595 |
goto send |
596 |
|
597 |
GetSize: |
598 |
${GetSize} "$R2" "$R3" $0 $1 $2 |
599 |
IfErrors error |
600 |
StrCpy $R0 "Size=$0$\r$\nFiles=$1$\r$\nFolders=$2" |
601 |
goto send |
602 |
|
603 |
DriveSpace: |
604 |
${DriveSpace} "$R1" "$R3" $0 |
605 |
IfErrors error |
606 |
StrCpy $R0 "$0" |
607 |
goto send |
608 |
|
609 |
GetDrives: |
610 |
${GetDrives} "$R1" "GetDrivesCallback" |
611 |
StrCmp $R0 StopGetDrives 0 +3 |
612 |
StrCpy $R0 '$R5stopped' |
613 |
goto send |
614 |
StrCpy $R0 '$R5done' |
615 |
goto send |
616 |
|
617 |
GetTime: |
618 |
${GetTime} "$R1" "$R3" $0 $1 $2 $3 $4 $5 $6 |
619 |
IfErrors error |
620 |
StrCpy $R0 'Date=$0/$1/$2 ($3)$\r$\nTime=$4:$5:$6' |
621 |
goto send |
622 |
|
623 |
GetFileAttributes: |
624 |
${GetFileAttributes} "$R1" "$R3" $0 |
625 |
IfErrors error |
626 |
StrCpy $R0 '$0' |
627 |
goto send |
628 |
|
629 |
GetFileVersion: |
630 |
${GetFileVersion} "$R1" $0 |
631 |
IfErrors error |
632 |
StrCpy $R0 '$0' |
633 |
goto send |
634 |
|
635 |
GetExeName: |
636 |
${GetExeName} $0 |
637 |
StrCpy $R0 '$0' |
638 |
goto send |
639 |
|
640 |
GetExePath: |
641 |
${GetExePath} $0 |
642 |
StrCpy $R0 '$0' |
643 |
goto send |
644 |
|
645 |
GetParameters: |
646 |
${GetParameters} $0 |
647 |
StrCpy $R0 '$0' |
648 |
StrCmp $R0 '' 0 send |
649 |
StrCpy $R0 'no parameters' |
650 |
goto send |
651 |
|
652 |
GetOptions: |
653 |
${GetOptions} "$R1" "$R3" $0 |
654 |
IfErrors error |
655 |
StrCpy $R0 '$0' |
656 |
goto send |
657 |
|
658 |
GetRoot: |
659 |
${GetRoot} "$R1" $0 |
660 |
StrCpy $R0 '$0' |
661 |
goto send |
662 |
|
663 |
GetParent: |
664 |
${GetParent} "$R1" $0 |
665 |
StrCpy $R0 '$0' |
666 |
goto send |
667 |
|
668 |
GetFileName: |
669 |
${GetFileName} "$R1" $0 |
670 |
StrCpy $R0 '$0' |
671 |
goto send |
672 |
|
673 |
GetBaseName: |
674 |
${GetBaseName} "$R1" $0 |
675 |
StrCpy $R0 '$0' |
676 |
goto send |
677 |
|
678 |
GetFileExt: |
679 |
${GetFileExt} "$R1" $0 |
680 |
StrCpy $R0 '$0' |
681 |
goto send |
682 |
|
683 |
BannerTrimPath: |
684 |
${BannerTrimPath} "$R1" "$R3" $0 |
685 |
StrCpy $R0 '$0' |
686 |
goto send |
687 |
|
688 |
DirState: |
689 |
${DirState} "$R2" $0 |
690 |
StrCpy $R0 '$0' |
691 |
goto send |
692 |
|
693 |
RefreshShellIcons: |
694 |
${RefreshShellIcons} |
695 |
StrCpy $R0 'done' |
696 |
goto send |
697 |
|
698 |
error: |
699 |
StrCpy $R0 'error' |
700 |
|
701 |
send: |
702 |
GetDlgItem $1 $HWND 1208 |
703 |
SendMessage $1 ${WM_SETTEXT} 1 "STR:$R0" |
704 |
|
705 |
abort |
706 |
FunctionEnd |
707 |
|
708 |
Function LocateCallback |
709 |
MessageBox MB_OKCANCEL '$$R9 "path\name"=[$R9]$\n$$R8 "path" =[$R8]$\n$$R7 "name" =[$R7]$\n$$R6 "size" =[$R6]' IDOK +2 |
710 |
StrCpy $R0 StopLocate |
711 |
|
712 |
Push $R0 |
713 |
FunctionEnd |
714 |
|
715 |
Function GetDrivesCallback |
716 |
MessageBox MB_OKCANCEL '$$9 "drive letter"=[$9]$\n$$8 "drive type" =[$8]' IDOK +2 |
717 |
StrCpy $R0 StopGetDrives |
718 |
StrCpy $R5 '$R5$9 [$8 Drive]$\r$\n' |
719 |
|
720 |
Push $R0 |
721 |
FunctionEnd |
722 |
|
723 |
Function .onInit |
724 |
InitPluginsDir |
725 |
GetTempFileName $INI $PLUGINSDIR |
726 |
File /oname=$INI "FileFunc.ini" |
727 |
FunctionEnd |
728 |
|
729 |
Page instfiles |
730 |
|
731 |
Section "Empty" |
732 |
SectionEnd |