安装发布的c# win窗体桌面应用程序后,将文件保存到安装目录而不是桌面

本文关键字:桌面 安装 文件 保存 win 应用程序 窗体 | 更新日期: 2023-09-27 18:11:46

在我的win forms c#应用程序中,我将我的图像导出为pdf和word。在导出之前,需要将图像保存为位图。是这样的吗?

// code
bitmap.Save("Image.jpeg", ImageFormat.Jpeg);
bitmap.Dispose();

现在word和pdf导出的代码正常地从保存的位置读取该文件。然而,当我在测试我的桌面应用程序时,代码"Image.jpeg"将图像保存到bin目录。

当我使用InstallShield安装程序并安装我的程序时,这个选项可以工作,但它会将我的映像保存到桌面。我真的不想那样。

设法将它发送到ApplicationData目录,但也不想这样…

string imageSaved = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Image.jpeg");
bitmap.Save(imageSaved, ImageFormat.Jpeg);
bitmap.Dispose();

如何将文件导航到安装目录?

安装发布的c# win窗体桌面应用程序后,将文件保存到安装目录而不是桌面

直接使用Application.StartupPath

获取启动应用程序的可执行文件的路径,不包括可执行文件名。

启动应用程序的可执行文件的路径。这路径将不同,这取决于是否Windows窗体应用程序使用ClickOnce部署。ClickOnce应用程序存储在C:'Documents和中的每个用户应用程序缓存中设置'用户名目录。

例如你可以这样使用:

string imageSaved = Path.Combine(Application.StartupPath, "Image.jpeg");
bitmap.Save(imageSaved, ImageFormat.Jpeg);

对于ClickOnce应用程序,您可以使用ApplicationDeployment.CurrentDeployment.DataDirectory,有关更多信息,请参见访问ClickOnce应用程序中的本地和远程数据