Настройка осведомленности 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();

0 ответов

Другие вопросы по тегам