2013-06-18 74 views
-1

我需要知道如何保存文件,而不使用保存文件對話框提示。VB.NET保存文件不保存對話框提示

目前我的代碼是:

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 
     ProgressBar1.Value = 0 
     Using sfd As New SaveFileDialog 
      With sfd 
       If .ShowDialog = Windows.Forms.DialogResult.OK Then 
        .DefaultExt = "exe" 
        .Filter = "Saved.exe (*.exe)|*.exe" 
        '---Save File--- 
        '---Code to pack the result with UPX packer--- 
     ProgressBar1.Value = 100 
     MsgBox("Success.", MsgBoxStyle.Information) 
    End Sub 

,我想知道,我怎麼能保存一個名爲「Saved.exe」到我的應用程序是相同的文件夾中的文件,而不保存文件對話框的提示。 該文件需要保存在程序所在的同一文件夾中,並具有預先配置的名稱,以便UPX打包程序知道要打包的內容。

希望有人能幫助我。

+0

甚至沒有關閉。保存文件和獲取當前目錄的信息是兩種不同的事情。 – user2404495

回答

0

保存文件對話框只允許用戶指定他們想要保存文件的位置。

如果你想保存沒有這個對話框的文件,你將不得不自己指定文件名。

您可以使用下面的代碼片段之一,將文件保存:

對於文本文件:

My.Computer.FileSystem.WriteAllText("C:\SomeDir\YourFile.txt", "Text", True) 

對於二進制文件:

Dim fileContents() As Byte = {244, 123, 56, 34} 
My.Computer.FileSystem.WriteAllBytes("C:\SomeDir\YourFile.bin", fileContents, True) 

注:這些是直接來自Visual Studio中的標準片段。按Ctrl+K,Ctrl+X然後導航到Fundamentals > FileSystem

1

有很多不同的方式來獲取目錄:

My.Application.Info.DirectoryPath 
Application.Current.BaseDirectory 
IO.Path.GetDirectoryName(Application.ExecutablePath) 
Windows.Forms.Application.StartupPath 
IO.Path.GetDirectoryName(Reflection.Assembly.GetExecutingAssembly().CodeBase) 

一旦你的應用程序文件夾,只要你想獲得一個完整的文件名路徑的文件名添加名字。

+0

這沒有回答我的問題..我需要保存沒有提示的文件。我知道如何獲得curr。目錄。我可以在沒有提示的情況下使用SFD保存文件嗎? – user2404495

+0

'SaveFileDialog'只是讓用戶選擇一個文件路徑,但沒有保存任何東西。您需要手動保存您的文件與您的數據。 – SysDragon

+0

這裏有幾個如何寫入文件的鏈接:http://msdn.microsoft.com/en-us/library/6ka1wd3w.aspx http://stackoverflow.com/questions/2255986/how-to- save-files-in-vb-net – SysDragon