Мне нужно открыть изображение с помощью Microsoft Paint

#winapi

#winapi

Вопрос:

Как следует из названия. Я ищу простой способ открыть изображение (.jpg, если это имеет значение) с помощью Microsoft Paint, используя Windows API и путь к файлу изображения. Есть идеи?

Комментарии:

1. Используйте CreateProcess для запуска mspaint.exe с именем файла изображения в командной строке.

2. @JonathanPotter Я только что понял, насколько я глуп. Спасибо.

3. То, что легко для одного человека, может быть трудным для другого. Так что, возможно, было бы лучше не включать это.

4. Обязательно ли это конкретно MSPaint? Что, если у пользователя установлен другой редактор изображений, и он хотел бы использовать его вместо этого? ShellExecute() было бы лучше, чем CreateProcess() для запуска пользовательского редактора по умолчанию.

Ответ №1:

Вы можете использовать CreateProcess, как упоминал @Jonathan Potter в комментариях, или вы можете использовать ShellExecute.

 ShellExecute(nullptr, "open", "mspaint.exe", "YourImage.jpg", nullptr, SW_SHOWMAXIMIZED);
  

Если, как упоминает @Remy Lebeau, вы хотите, чтобы зарегистрированное пользователем приложение по умолчанию открывало изображение, а не принудительно mspaint.exe , вы можете просто передать имя изображения в ShellExecute

 ShellExecute(nullptr, "open", "YoutImage.jpg", nullptr, nullptr, SW_SHOWMAXIMIZED);