Delphi-Quellcode:
function SetFileSummaryInfo(const FileName: WideString; PID_InfoType: Cardinal;
InfoStr: string): DWORD;
Ich dachte das wäre klar. Wenn du gibst mit
PID_Infotype (mir ist nichts besseres um halb fünf morgens eingefallen) das Feld an in das du schreiben willst. Mögliche Werte:
PID_AUTHOR
PID_TITLE
PID_SUBJECT
PID_KEYWORDS
PID_COMMENTS
Sie liefert null wenn alles geklappt hat oder wenn was nicht geklappt hatt sollte sie den letzten Systemfehler des Prozesses zurückgeben.
In mehrer Felder schreiben geht nicht, entweder du schreibst sie dir selber um, dass sie es kann oder rufst sie entsprechend oft nacheinander auf. Ich habe daraurf verzichtet mir diese Arbeit zu machen, weil es mir von Anfang an eigentlich nur um den Kommentar ging. (Alle anderen Felder erscheinen mir sowieso unwichtig.)
Auslesen? Na kuck es dir an:
Delphi-Quellcode:
S := PropVariant[k].pwszVal;
if PropSpec[k].propid = PID_COMMENTS then
Result := S;
Hier lasse ich mir nur den Wert von s zurückgeben wenn die PropID PID_COMMENTS entspricht. So, denk nach und mach was draus.