6

在我的 C# 应用程序中,我想启动默认图像编辑器来编辑图像。

当我使用它时,它会使用Windows 照片查看器System.Diagnostics.Process.Start("C:\\image.png")打开图像文件。

当我在 Windows 资源管理器中右键单击图像文件时,会出现一个“编辑”菜单项,它会启动 Microsoft Paint(默认情况下)。我想在我的应用程序中做同样的事情(即使用默认图像编辑器打开文件)。

我不想通过执行对 MS Paint 进行硬编码Process.Start("mspaint.exe C:\\image.png")。我更喜欢使用用户设置的默认图像编辑器程序(可能与 MS Paint 不同)。

有没有办法做到这一点?

谢谢弗兰克

4

2 回答 2

13

您可以尝试使用动词启动进程edit

ProcessStartInfo startInfo = new ProcessStartInfo("C:\\image.png");
startInfo.Verb="edit";

Process.Start(startInfo);
于 2013-04-15T18:28:08.333 回答
0

如果你想通过默认的 Windows 编辑器在图片框中打开你的图像,试试这个;

//Create temporary file name
String TMP_IMAGE = "tempImage" +DateTime.Now.Millisecond +".bmp";

//get the folder of application
string PATH_APP =                
        System.IO.Path.GetDirectoryName(Application.ExecutablePath) + @"\tempImage\";

//Create a subFolder tempImage
Directory.CreateDirectory(PATH_APP);

//Save a new path in a variable
String NEW_PATH = PATH_APP + TMP_IMAGE;

//Save the image in the pictureBox in the new path and file name
pictureBox.Image.Save(NEW_PATH);

//Lunch the process with defaoul image editor in the comouter
ProcessStartInfo startInfo = new ProcessStartInfo(NEW_PATH);
Process.Start(startInfo);
于 2017-11-26T08:59:16.967 回答