В Windows XP единственный способ, который я нашел, чтобы открыть 2+ окна Picture and Fax Viewer, это открыть одно изображение в одном окне, открыть диалоговое окно печати, а затем открыть последующие. Открытие изображения с уже существующим окном Picture and Fax Viewer просто заменяет это изображение окна на новое.
Итак, насколько я могу судить, для получения желаемой функциональности есть два пути:
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, а затем вызывает диалоговое окно печати из контекста этого окна)