В Windows XP единственный способ открыть 2+ окна просмотра изображений и факсов - открыть одно изображение в одном окне, открыть диалоговое окно печати, а затем открыть последующие. Открыв изображение в уже существующем окне просмотра изображений и факсов, просто замените это изображение окна новым.
Итак, чтобы получить желаемую функциональность, насколько я могу судить, есть два пути вперед:
1) Измените shimgvw.dll, чтобы он не смотрел, если окно уже открыто, чтобы он просто открыл другое (как это происходит, когда одно окно заблокировано с диалоговым окном печати вверх).
2) Найдите способ написания сценария, запрашивающего у пользователя первый файл, который он хочет открыть, затем откройте это изображение и попросите shimgvw.dll загрузить диалоговое окно печати для этого окна, затем спросите о втором файле и повторите.
Я пытался декомпилировать shimgvw.dll, но я не очень хорош в ассемблере.
Также обнаружили, что эта DLL может иметь интерфейс COM (http://xpdll.nirsoft.net/shimgvw_dll.html), но не уверен, что я могу вызвать этим.
Существует также любопытный синтаксис rundll32.exe %windir%\shimgvw.dll,ImageView_Fullscreen %1,ImageView_PrintTo /pt "%1" "%2"
слегка измененный с http://ask-leo.com/comments_003254.php?page = 6, но это, по-видимому, ничего не открывает / не делает, несмотря на то, что я думаю, что выглядит так, как это происходит (открывает% 1, затем вызывает диалог печати из контекста этого окна)