-1

我需要知道如何在不使用保存文件对话框提示的情况下保存文件。

目前我的代码是:

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 打包程序知道要打包什么。

希望有人可以帮助我。

4

2 回答 2

1

有很多不同的方法来获取目录:

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

拥有应用程序文件夹后,只需添加要获取完整文件名路径的文件名即可。

于 2013-06-18T08:56:19.533 回答
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+KCtrl+X然后导航到Fundamentals > FileSystem

于 2013-06-18T09:25:31.613 回答