为什么 Process.Start 方法总是显示 "Open With" 对话框
Why Process.Start method always shows the "Open With" dialog
我正在开发一个 WPF 应用程序,该应用程序使用 Process.Start()
方法通过默认查看器应用程序打开图像和 PDF 文件。
有什么问题?
每次我调用 Process.Start()
方法时,即使我选中了“始终使用此应用打开 .jpg 文件”选项,“打开方式”对话框也会出现。
这是我的 C# 代码:
public void Open(string fileName, bool isPdf)
{
var sharedFolderPath = AppCore.Settings.SharedFolder.Path;
string message;
if (sharedFolderPath is null)
{
message = Resources.EmptySharedFolderErrorMessage;
AppCore.ShowDialog(AppCore.GetMessageDialog(message));
return;
}
var path = Path.Combine(sharedFolderPath, fileName);
if (File.Exists(path))
{
try
{
if (isPdf || AppCore.Settings.ImageViewerSettings.OpenInWindowsDefaultApp)
{
Process.Start(path);
}
else
{
var imageViewerWindow = new ImageViewerWindow(path);
imageViewerWindow.ShowDialog();
}
}
catch (Exception ex)
{
AppCore.Logger.Info("Opening shared file failed.");
AppCore.Logger.Exception(ex);
}
return;
}
message = string.Format(Resources.SharedFolderFileNotFoundMessage, fileName);
AppCore.ShowDialog(AppCore.GetMessageDialog(message));
}
我的问题更详细:
https://imgur.com/a/JQyIMZE
已编辑
我创建了一个简单的 WPF 项目并尝试使用 Process.Start()
方法打开图像。在新项目中,图像是使用默认应用程序打开的,没有显示“打开方式”对话框。
我不知道 why/how,但我的问题在卸载我昨天安装的 TechSmith Snagit 后解决了。
我正在开发一个 WPF 应用程序,该应用程序使用 Process.Start()
方法通过默认查看器应用程序打开图像和 PDF 文件。
有什么问题?
每次我调用 Process.Start()
方法时,即使我选中了“始终使用此应用打开 .jpg 文件”选项,“打开方式”对话框也会出现。
这是我的 C# 代码:
public void Open(string fileName, bool isPdf)
{
var sharedFolderPath = AppCore.Settings.SharedFolder.Path;
string message;
if (sharedFolderPath is null)
{
message = Resources.EmptySharedFolderErrorMessage;
AppCore.ShowDialog(AppCore.GetMessageDialog(message));
return;
}
var path = Path.Combine(sharedFolderPath, fileName);
if (File.Exists(path))
{
try
{
if (isPdf || AppCore.Settings.ImageViewerSettings.OpenInWindowsDefaultApp)
{
Process.Start(path);
}
else
{
var imageViewerWindow = new ImageViewerWindow(path);
imageViewerWindow.ShowDialog();
}
}
catch (Exception ex)
{
AppCore.Logger.Info("Opening shared file failed.");
AppCore.Logger.Exception(ex);
}
return;
}
message = string.Format(Resources.SharedFolderFileNotFoundMessage, fileName);
AppCore.ShowDialog(AppCore.GetMessageDialog(message));
}
我的问题更详细: https://imgur.com/a/JQyIMZE
已编辑
我创建了一个简单的 WPF 项目并尝试使用 Process.Start()
方法打开图像。在新项目中,图像是使用默认应用程序打开的,没有显示“打开方式”对话框。
我不知道 why/how,但我的问题在卸载我昨天安装的 TechSmith Snagit 后解决了。