在我的C#应用程序中,我想启动默认图像编辑器来编辑图像。
当我使用System.Diagnostics.Process.Start("C:\\image.png")
它将使用Windows照片查看器打开图像文件。
当我右键单击Windows资源pipe理器中的图像文件时,会出现一个“编辑”菜单项,启动Microsoft画图(默认情况下)。 我想在我的应用程序中做同样的事情(即使用默认的图像编辑器打开文件)。
我不想通过执行Process.Start("mspaint.exe C:\\image.png")
对MS Paint进行硬编码。 我宁愿使用由用户设置的默认图像编辑器程序(可能不同于MS Paint)。
有没有办法做到这一点?
谢谢弗兰克
你可以试着用动词edit
来开始一个过程。
ProcessStartInfo startInfo = new ProcessStartInfo("C:\\image.png"); startInfo.Verb="edit"; Process.Start(startInfo);
如果你想通过一个默认的WinDows编辑器在pictureBox中打开你的图像,试试这个;
//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);