2016-08-12 96 views
0

我在Windows 10上使用.NET 4. 我有一個用vb.net編寫的winform應用程序,它使用PDFSharp api將TIFF轉換爲PDF格式。 當我嘗試將PDF保存到C:\文件夾中時,沒有發生異常,但沒有寫入任何內容。 當我檢查我是否對文件夾C:\有寫訪問權限時,VB.NET告訴我我有。 我使用這個代碼塊:在C:文件夾中寫入PDF

Private Function HasFolderWriteAccess(path As String) As Boolean 

    Try 
     Using inputstreamreader As New StreamReader(path) 
      inputstreamreader.Close() 
     End Using 
     Using inputStream As FileStream = File.Open(path, FileMode.Open, FileAccess.Write, FileShare.None) 
      inputStream.Close() 
      Return True 
     End Using 
    Catch ex As Exception 
     Return False 
    End Try 

End Function 

當我嘗試使用一個StreamWriter寫一個文件,我面臨着同樣的問題:

Dim FILE_NAME As String = "C:\test2.txt" 
    Dim objWriter As New System.IO.StreamWriter(FILE_NAME) 
    objWriter.Write("Some text....") 
    objWriter.Close() 
    MessageBox.Show("Text written to file") 

是否有某種神奇的發生Windows 10 C:\我不知道的文件夾?

感謝您的回覆。

+0

'C:\ test2.txt':是不是'C: est2.txt'? –

+0

自Windows Vista以來,沒有管理員權限(實際上,如果您沒有作爲高級用戶運行,那麼自XP以來)就沒有被允許寫入驅動器的根文件夾。現在已經有十多年了,是時候瞭解UAC和權限的工作原理了。 –

+0

@ Jean-FrançoisFabre:它將用C/C++編寫。不是VB.Net。 –

回答

0

克里斯·達納韋的回答(在評論)是正確的:

...看看這個文件夾,而不是在:C:\ Users \用戶名\ AppData的\本地\虛擬商店,看看你的文件那裏。 Windows不允許將文件寫入某些文件夾並將其默認重定向到虛擬存儲區...