Я пытался написать код для взаимодействия с Photoshop, как путем добавления ссылки на COM, так и путем позднего связывания . Мне потребовалось некоторое время, чтобы понять, что код действительно работает, но не в 64-битной версии Photoshop.
Исключение, которое я получаю с 64-битной версией Photoshop, выглядит следующим образом:
COMException не обрабатывается
Получение фабрика COM-классов для компонент с CLSID {D9389EDE-AEF8-4092-9377-075E94B7CB9A} не удалось из-за следующей ошибки: 80080005 Ошибка выполнения сервера (Исключение из HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
Может ли мое приложение взаимодействовать с 64-разрядной версией Photoshop? Или это ограничивается только взаимодействием с 32-разрядной версией?
Я наткнулся на это в одной из своих многочисленных попыток найти решение, но я не понимаю, как я могу поставить флаг CLSCTX_ACTIVATE_64_BIT_SERVER
для использования либо со ссылкой COM, либо с поздним связыванием, ну, предположим, что это решение.
Здесь возникает исключение:
Type photoshopType = Type.GetTypeFromProgID("Photoshop.Application");
if (photoshopType != null)
{
object photoshop = Activator.CreateInstance(photoshopType);