2011-07-21 56 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

一旦文件在這個文件夾中,它們就是靜態的。我需要看到最後一個人寫和保存文件,即LAST作者。那有意義嗎? – 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