giv mig detaljerne eller indgive summariske oplysninger

, hvordan at læse fil kortfattede oplysninger om ikke - kontor filer, windows 2000 kan du right-click i opdagelsesrejsende at få sagen egenskaber på sagen og kan forbinde sammenfattende oplysninger for alle typer af dokumenter, herunder også tekstfiler.,,, for ord eller excel - dokumenter (sammensatte filer) sammenfattende oplysninger er en del af dokumentet, og for andre typer af sager, som de supplerende oplysninger er forskellige.dette element er kun tilgængelige på mængder formateret med ntfs.den ntfs gennemførelse butikker ejendom apparater i alternative strømme af en ntfs fil.det andet, der skal kopieres, når de vigtigste fil er kopieret.men ikke alle fil systemer til støtte for sådanne strømme.hvis f.eks. en ntfs fil med ejendom indeholder er kopieret til en fed volumen, kun data i databasen er kopieret; den ejendom, der er tabt.,,, det første du vil sikkert gøre er at påvise, om det nuværende omfang er ntfs:,,,, //isntfs() - kontrollerer, om sagen er bind er ntfs,,,, funktion, isntfs (afilename:, snor,): boolean,,, var,,, fso, drv: olevariant;, begynder,,, isntfs: = falske, fso: = createoleobject (,'scripting. filesystemobject ");,, drv: = fso. getdrive (fso. getdrivename (afilename),,, hvis drv.filesystem =,'ntfs,,,,, isntfs: = sandt,,,,,,,, men at læse disse egenskaber?er det nødvendige arbejde med et vandløb.og, nej, ntfs fil system 5 indeholder en gennemførelse af ipropertysetstorage grænseflade for filer på en ntfs volumen, når filerne i sig selv er ikke sammensatte filer.for at få et fingerpeg om ntfs gennemførelse af ipropertysetstorage, vi er nødt til at ringe til stgcreatestorageex funktion:,,, funktion, stgopenstorageex (, konstant, pwcsname: polestr; //viser vejen for, //fil, der indeholder oplagring objekt,,,,, grfmode: longint,,, /angiver adgang tilstand for formålet,,,, stgfmt: dword; //angiver oplagring filformat,,,,, grfattrs: dword; //forbeholdt skal være nul,,,,, pstgoptions: pointer; //adresse på stgoptions pointer,,,, reserved2: point; //forbeholdt skal være nul,,,,, riid: pguid; //angiver udvikling af grænsefladen pointer,,,,,,,, stgopen: //adresse på en interface pointer,,,, istorage): hresult;, stdcall,;, eksterne,'ole32. dll,,,,,,,,, microsoft windows 2000 ansøgninger bør anvende denne nye funktion, stgopenstorageex, i stedet for stgopenstorage, for at drage fordel af den forbedrede windows 2000 struktureret oplagring træk.,,, gennemførelse af ipropertysetstorage på ntfs fil system svarer med renters fil gennemførelsen og kun tilgængelige på windows 2000.windows 95 og windows nt - 4,0 og tidligere versioner, ikke kan få adgang til denne grænseflade,.,, men du kan ikke få ntfs gennemførelse af ipropertysetstorage for sammensatte fil.ved indledningen af en sammensat fil med stgopenstorage, med angivelse af de stgfmt_file tælling værdi medfører en fejl.,,, - - den næste funktion smider alle egenskaber af den specifikke sag.ved at ændre stgfmt_file flag, i stgopenstorageex opfordring til stgmt_any du kan åbne en struktureret oplagring ejendom, eller en ntfs fil system ejendom.,,, funktion, getfilesummaryinfo (, konstant, filnavn: widestring):, snor,,,,,,,,,, fmtid_summaryinformation: denne, tguid = "(f29f85e0-4ff9-1068-ab91-08002b27b3d9),,,, fmtid_docsummaryinformation: tguid =" (d5cdd502-2e9c-101b-9397-08002b2cf9ae},,,, fmtid_userdefinedproperties: tguid = "(d5cdd505-2e9c-101b-9397-08002b2cf9ae},,,, iid_ipropertysetstorage: tguid = (00000 13a-0000-0000-c000- 0000000000 46),,,,,,,,,, konstant, stgfmt_file = 3; //angiver sagen må ikke være et stof, fil.,, //dette element er kun gyldige, når de anvender stgcreatestorageex, //eller stgopenstorageex funktioner til at få adgang til ntfs fil system, //gennemførelse af ipropertysetstorage grænseflade. //derfor disse funktioner tilbage en fejl, hvis de riid, //parameter specificerer ikke ipropertysetstorage grænseflade, //, eller hvis der ikke er beliggende i en fil ntfs fil systemets volumen.,,,,, stgfmt_any = 4; //angiver, at systemet vil afgøre sagen, type og //anvende passende struktureret oplagring eller ejendom, //gennemførelse. //denne værdi ikke kan anvendes med stgcreatestorageex funktion.,, ////////kortfattede oplysninger,,,,,,, pid_title = ,2,;,, PID_SUBJECT = ,3,;,, PID_AUTHOR = ,4,;,, PID_KEYWORDS = ,5,;,, PID_COMMENTS = ,6,;,, PID_TEMPLATE = ,7,;,, PID_LASTAUTHOR = ,8,;,, PID_REVNUMBER = ,9,;,, PID_EDITTIME = ,10,;,, PID_LASTPRINTED = ,11,;,, PID_CREATE_DTM = ,12,;,, PID_LASTSAVE_DTM = ,13,;,, PID_PAGECOUNT = ,14,;,, PID_WORDCOUNT = ,15,;, , , PID_CHARCOUNT = ,16,;,, PID_THUMBNAIL = ,17,;,, PID_APPNAME = ,18,;,, PID_SECURITY = ,19,;,,, ,,//Document Summary Information,, ,,PID_CATEGORY = ,2,;,, PID_PRESFORMAT = ,3,;,, PID_BYTECOUNT = ,4,;,, PID_LINECOUNT = ,5,;,, PID_PARCOUNT = ,6,;,, PID_SLIDECOUNT = ,7,;,, PID_NOTECOUNT = ,8,;,, PID_HIDDENCOUNT = ,9,;,, PID_MMCLIPCOUNT = ,10,;,, PID_SCALE = ,11,;,, PID_HEADINGPAIR = ,12,;,, PID_DOCPARTS = ,13,;,, PID_MANAGER = ,14,;,, PID_COMPANY = ,15,;,, PID_LINKSDIRTY = ,16,;,, PID_CHARCOUNT2 = ,17,;,,,var,, ,I: Integer;,, PropSetStg: IPropertySetStorage;,, PropSpec: ,array of ,TPropSpec;,, PropStg: IPropertyStorage;,, PropVariant: ,array of ,TPropVariant;,, Rslt: HResult;,, S: ,String,;,, Stg: IStorage;,, PropEnum: IEnumSTATPROPSTG;,, HR : HResult;,, PropStat: STATPROPSTG;,, k : integer;,,,function ,PropertyPIDToCaption(,const ,ePID: Cardinal): ,string,;,,begin,, case ,ePID ,of,, ,PID_TITLE:,, Result := ,'Title',;,, PID_SUbject:,, resultat: =,'subject,,,, pid_author:,, resultat: =,'author,,,, pid_keywords:,, resultat: =,'keywords,,,, pid_comments:,, resultat: =,'comments,,,, pid_template:,, resultat: =,'template,,,, pid_lastauthor:,, resultat: =,'last reddet af,,,, pid_revnumber:,, resultat: =, oprindelsesmedlemsstaten - erhvervsudygtighed nummer,,,, pid_edittime:,, resultat: =,'total redigering tid ",,,, pid_lastprinted:,, resultat: =,'last trykt",,,, pid_create_dtm:,, resultat: =,'create tid /dato,,,, pid_lastsave_dtm:,, resultat: =,'last sparet tid /dato,,,, pid_pagecount:,, resultat: =,'number sider,,,, pid_wordcount:,, resultat: =,'number ord,,,, pid_charcouNT:,, Result := ,'Number of Characters',;,, PID_THUMBNAIL:,, Result := ,'Thumbnail',;,, PID_APPNAME:,, Result := ,'Creating Application',;,, PID_SECURITY:,, Result := ,'Security',;,, ,else,, ,Result := ,'$' ,+ IntToHex(ePID,8,);,, ,end,, end,;,,,begin,, ,Result := ,'',;,, ,try,, ,OleCheck(StgOpenStorageEx(PWideChar(FileName),,, STGM_READ ,or ,STGM_SHARE_DENY_WRITE,,, STGFMT_FILE,,, ,0,,nil,, ,nil,, @IID_IPropertySetStorage, stg));,,, PropSetStg := Stg ,as ,IPropertySetStorage;,,, OleCheck(PropSetStg.Open(FmtID_SummaryInformation,,, STGM_READ ,or ,STGM_SHARE_EXCLUSIVE, PropStg));,,, OleCheck(PropStg.Enum(PropEnum));,, I := ,0,;,,, hr := PropEnum.Next(,1,, PropStat,nil,);,, ,while ,hr = S_OK ,do,, begin,, ,inc(I);,, SetLength(PropSpec,I);,, PropSpec[i-,1,].ulKind := PRSPEC_PROPID;,, PropSpec[i-,1,].propid := PropStat.propid;,, hr := PropEnum.Next(,1,, PropStat,nil,);,, ,end,;,,, SetLength(PropVariant,i);,, Rslt := PropStg.ReadMultiple(i, @PropSpec[,0,], @PropVariant[,0,]);,,, ,if ,Rslt = S_FALSE ,then ,Exit;,,, ,for ,k := ,0 ,,to ,i -,1 ,,do,, begin,, ,S := ,'',;,, ,if ,PropVariant[k].vt = VT_LPSTR ,then,, if ,Assigned(PropVariant[k].pszVal) ,then,, ,S := PropVariant[k].pszVal;,,, S := Format(PropertyPIDToCaption(PropSpec[k].Propid)+ ,' %s',,[s]);,, ,if ,S <> ,'' ,,then ,Result := Result + S + ,#13,;,, ,end,;,, ,endelig,,,,,,,,,



Previous:
Next Page: