2011-07-21 6 views
2

VB8を使用してファイルの作成者を取得する方法はありますか?うまくいくものは見つけられないようです。私は、数百のファイルのディレクトリに各ファイルの作成者を見つける必要があります。vbでファイル作成者を検索しますか?

答えて

3

あなたは少し遅れて、ファイルの所有者に

Dim fs As FileSecurity = File.GetAccessControl("someFileName.ext") 
Dim sid As IdentityReference = fs.GetOwner(GetType(SecurityIdentifier)) 
Dim ntaccount As IdentityReference = sid.Translate(GetType(NTAccount)) 
Dim owner As String = ntaccount.ToString() 
+0

...しかし、私はちょうど何とかすべてのファイルが同じ著者を持っていることを発見しました。ファイルのプロパティを確認し、必要な名前が実際には「最後に保存された」ことを確認しました。それを得ることは可能ですか? – Erika

+0

@Erika私は「によって保存された最後の」約「最終更新日」フィールドが、何を知っています。あなたはそれが何であるかを詳述したり、参照したりできますか? –

+0

ファイルがこのフォルダに格納されると、静的になります。私は最後の人物を書いて&最後の著者と呼ばれる文書を保存する必要があります。それは理にかなっていますか? – Erika

0

を取得するには、このような何かを試すことができますが、他の誰がこの情報を探しに役立つはずです。情報によって変更されたファイルの作成者/最後を容易に得ることができるWindowsAPICodePack Shellパッケージを使用して

Dim sf As Microsoft.WindowsAPICodePack.Shell.ShellFile 

Dim authors As String = sf.Properties.GetProperty("System.Author").FormatForDisplay(PropertySystem.PropertyDescriptionFormatOptions.None) 

Dim lastModifiedBy As String = sf.Properties.GetProperty("System.Document.LastAuthor").FormatForDisplay(PropertySystem.PropertyDescriptionFormatOptions.None) 

Windowsプロパティーシステムに関する詳細は、hereを参照してください。素晴らしい仕事