Date: 04.02.2017 17:52:32
Стандартный просмотрщик Windows не является, хм, программой, он - часть Windows Explorer. Технически, в XP он открывается в контексте Explorer.exe, в Win7 - dllhost.exe. Если процесс уже запущен, ShellExecute не вернет действительный дескриптор процесса, поэтому WaitForExit не будет работать.
что делать? наверное находить окно в котором картинка отображается (его заголовок обычно содержит имя файла), и ждать пока оно не закроется
Date: 05.02.2017 15:34:37
Автор: VadimTagil