ShellExecuteEx не может открыть изображение, пока mspaint является приложением по умолчанию, начиная с Windows 10C++

Программы на C++. Форум разработчиков
Anonymous
ShellExecuteEx не может открыть изображение, пока mspaint является приложением по умолчанию, начиная с Windows 10

Сообщение Anonymous »

Выполнение следующего кода приведет к ошибке, если mspaint выбран в качестве приложения по умолчанию для изображений.
Установка любого другого приложения по умолчанию для изображений приложение, например «Фотографии» откроет изображение в выбранном приложении без ошибок.
Использование ShExecInfo.lpVerb = L"edit" откроет изображение с помощью mspaint без ошибок. p>
Проблема возникает начиная с Windows 10.

Код: Выделить всё

#include 

int main()
{
SHELLEXECUTEINFO ShExecInfo;
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = NULL;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = L"open"; //L"edit"
ShExecInfo.lpFile = L"C:/test.jpg";
ShExecInfo.lpParameters = NULL;
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_MAXIMIZE;
ShExecInfo.hInstApp = NULL;

ShellExecuteEx(&ShExecInfo);

return 0;
}
Изображение

Это известная ошибка Microsoft?


Подробнее здесь: https://stackoverflow.com/questions/662 ... windows-10

Вернуться в «C++»