Настройка осведомленности DPI нового процесса для отображения tiff
Я хочу отобразить tiff-файл с помощью программы просмотра фотографий.
private void StartProcessWithoutShell(string filePath)
{
string path = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
photoViewer.StartInfo = new ProcessStartInfo("rundll32.exe",
String.Format("\"{0}{1}\", ImageView_Fullscreen {2}",
Environment.Is64BitOperatingSystem ? path.Replace(" (x86)", "") : path,
@"\Windows Photo Viewer\PhotoViewer.dll",
filePath));
photoViewer.StartInfo.UseShellExecute = false;
photoViewer.Start();
}
Проблема в том, что изображение размытое. Когда я открываю файл двойным щелчком, оно выглядит нормально. Я предполагаю, что мне нужно установить SetProcessDpiAwarenessContext, чтобы не знать, но я не знаю, как это сделать в С #. У меня был другой подход, в котором я использую ShellExecute, но я не могу убить процесс, потому что он не выполняет повторный запуск processId.
Редактировать программу просмотра фотографий - это процесс
photoViewer = new Process();