1!ifndef LVM_GETITEMCOUNT 2 !define LVM_GETITEMCOUNT 0x1004 3!endif 4!define LVM_GETITEMTEXT 0x102D 5 6Function DumpLog 7 Exch $5 8 Push $0 9 Push $1 10 Push $2 11 Push $3 12 Push $4 13 Push $6 14 15 FindWindow $0 "#32770" "" $HWNDPARENT 16 GetDlgItem $0 $0 1016 17 StrCmp $0 0 error 18 FileOpen $5 $5 "w" 19 StrCmp $5 0 error 20 SendMessage $0 ${LVM_GETITEMCOUNT} 0 0 $6 21 System::Alloc ${NSIS_MAX_STRLEN} 22 Pop $3 23 StrCpy $2 0 24 System::Call "*(i, i, i, i, i, i, i, i, i) i \ 25 (0, 0, 0, 0, 0, r3, ${NSIS_MAX_STRLEN}) .r1" 26 loop: StrCmp $2 $6 done 27 System::Call "User32::SendMessageA(i, i, i, i) i \ 28 ($0, ${LVM_GETITEMTEXT}, $2, r1)" 29 System::Call "*$3(&t${NSIS_MAX_STRLEN} .r4)" 30 FileWrite $5 "$4$\r$\n" 31 IntOp $2 $2 + 1 32 Goto loop 33 done: 34 FileClose $5 35 System::Free $1 36 System::Free $3 37 Goto exit 38 error: 39 MessageBox MB_OK error 40 exit: 41 Pop $6 42 Pop $4 43 Pop $3 44 Pop $2 45 Pop $1 46 Pop $0 47 Exch $5 48FunctionEnd 49