Я пытаюсь выполнить запрос клиента здесь, и я не совсем уверен, что смогу это сделать. У меня есть приложение MFC, которое использует ShellExecute для открытия файлов в соответствующем средстве просмотра, которое порождает несколько средств просмотра, если вы пытаетесь открыть несколько файлов один за другим. Если вы откроете один текстовый документ, а затем откроете другой, две копии блокнота появятся, как и ожидалось.
Клиент хочет, чтобы мы изменили эту функциональность - функциональность Windows - чтобы просто передавать местоположения файлов любым зрителям, которые могут уже открываться. Первое нажатие на изображение должно открыть Image Viewer, но любое другое должно быть просто открыто в этом существующем процессе.
Возможен ли такой вид управления / связи между приложениями? Могу ли я в общем "передать" файлы существующим процессам? Я не думаю, что могу. Выполнение программы с файлом в качестве параметра - это одно, а передача файла запущенному процессу - это совсем другое. Я не уверен, что вы можете сделать это в общем, я не думаю, что такая функциональность есть где-нибудь в Windows API.
Хотя я могу ошибаться.