我使用以下代码打开jpg
-files:
var file = @"C:\Users\administrator.ADSALL4SPS\Desktop\IMG_4121.JPG";
var processStartInfo = new ProcessStartInfo { Verb = "open", FileName = file };
var workDir = Path.GetDirectoryName(file);
if (!string.IsNullOrEmpty(workDir)) {
processStartInfo.WorkingDirectory = workDir;
}
try {
Process.Start(processStartInfo);
} catch (Exception e) {
// Errorhandling
}
现在,当我这样做时,我总是得到一个Win32Exception与 NativeErrorCode = ERR_NO_ASSOCIATION
但是该扩展名*.jpg
与MSPaint相关联。
当我双击“文件”时,将在MSPaint中打开文件。
为什么Win32Exception
连一个文件都关联了?
JPG扩展名可能没有为其注册一个显式的开放动词,在这种情况下,您可以省略它,而基础ShellExecute
函数将使用第一个注册的动词(在您的情况下,可能是edit):
var processStartInfo = new ProcessStartInfo { FileName = file };
该ProcessStartInfo.Verbs
属性包含给定文件名的所有已注册动词。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句