Re: Modification de propriétés avancés de Fichiers

Posté par Tonton le 12/6/2008 22:16:17
Toutes mes excuses Dr,

j'avais oublié,
un de mes buts est d'éviter d'utiliser des dll externes au maximum (surtout pour eviter le regsvr32 en install client),
mais bon par acquis de conscience, j'avais testé la DSOFile.dll et Interop.Dsofile.dll,

Voilà les tests (après enregistrements regsvr32, bien sur) que
j'avais fait sans succès :
1-
oDSO est un objet OLE dynamique
//odso = allouer un objet "DSOFile.OleDocumentProperties"
oDSO = allouer un objet "DSOFile.OleDocumentPropertiesClass"
//odso = allouer un objet "DSOFile.SummaryProperties"
//odso = allouer un objet "DSOFile.CDsoDocumentProperties"
//odso = allouer un objet "DSOleFile.PropertyReader"
//odso = allouer un objet "DSOleFile._OleDocumentProperties"
oDSO>>Open("c:\toto.txt")
Trace(oDSO>>SummaryProperties>>Author, oDSO>>SummaryProperties>>Comments)
oDSO>>Close

2 -
ch_doc est une chaîne = "c:\Nouveau Document Microsoft Word.doc"
AppelDLL32("Interop.Dsofile.dll","Open",&ch_doc)

3 - Code Hexa/eniter correspondant
maDLL est une chaîne = "dsofile.dll"
ch_doc est une chaîne = "c:\Nouveau Document Microsoft Word.doc"
hr est un entier = 0
hr = AppelDLL32(maDLL,65537,&ch_doc)//CDsoDocumentProperties,_OleDocumentProperties,SummaryProperties
Trace("hr : " + hr)
Trace(AppelDLL32(maDLL,65539))//IsReadOnly
Trace(AppelDLL32(maDLL,65540))//IsDirty

Bref 0 pointé, c'etait pourtant, une bonne piste,
la 1ere que j'avais trouvé, mais vite abandonner

peut etre que j'ai mal typé une variable, genre unicode,
si tu as une source qui marche je suis preneur

Je pense que les alternate Data Stream, est LA bonne piste,
à suivre, mais il me manque ces fichus caractères hexadecimal, a définir pour la balise SummaryInformation

C cool Dr

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=5895&post_id=23820