![]() |
|
Précédent | Sommaire | Suivant D.4 Placer le contenu dans la fenêtre Détails dans un fichierCette fonction va placer le contenu du journal de l'installation (Détails) dans le fichier de votre choix. J'ai créé cette fonction pour Afrow_UK qui recherchait un moyen de placer le journal dans un fichier, dans ce sujet du forum. Pour l'utiliser, placez le nom du fichier dans la pile et appelez-là. Cela placera (mais vous l'aurez compris) le contenu du journal dans le fichier spécifié. Par exemple : GetTempFileName $0 Push $0 Call DumpLog Voici la fonction : !define LVM_GETITEMCOUNT 0x1004
!define LVM_GETITEMTEXT 0x102D
Function DumpLog
Exch $5
Push $0
Push $1
Push $2
Push $3
Push $4
Push $6
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1016
StrCmp $0 0 error
FileOpen $5 $5 "w"
StrCmp $5 0 error
SendMessage $0 ${LVM_GETITEMCOUNT} 0 0 $6
System::Alloc ${NSIS_MAX_STRLEN}
Pop $3
StrCpy $2 0
System::Call "*(i, i, i, i, i, i, i, i, i) i \
(0, 0, 0, 0, 0, r3, ${NSIS_MAX_STRLEN}) .r1"
loop: StrCmp $2 $6 done
System::Call "User32::SendMessageA(i, i, i, i) i \
($0, ${LVM_GETITEMTEXT}, $2, r1)"
System::Call "*$3(&t${NSIS_MAX_STRLEN} .r4)"
FileWrite $5 "$4$\r$\n"
IntOp $2 $2 + 1
Goto loop
done:
FileClose $5
System::Free $1
System::Free $3
Goto exit
error:
MessageBox MB_OK error
exit:
Pop $6
Pop $4
Pop $3
Pop $2
Pop $1
Pop $0
Exch $5
FunctionEnd
Ecrit par KiCHiK Précédent | Sommaire | Suivant |
||
|