Я использовал Destop.open () для запуска программы просмотра .pdf на компьютерах с Windows, как Vista, так и XP, и большинство из них работают нормально. Однако на одной машине XP вызов не работает, просто возвращается без выдачи исключений, и программа просмотра не запускается. На этой машине ассоциация файлов настроена правильно, насколько я могу судить: двойной щелчок по файлу .pdf работает, как и команда «start xxx.pdf» в командной строке. Я думаю, что это проблема конфигурации Windows, но не могу понять.
Кто-нибудь еще видел эту проблему?
Пожалуйста, взгляните на мою запись в блоге по этой теме: java.awt.Desktop open () терпит неудачу без исключения




Это известная проблема ранних версий XP SP2, функция ShellExecute перестала принимать URI; обновить исправления для машин XP.
Чтобы просмотреть исключения, убедитесь, что консоль Java включена:
Control Panel->Java Control Panel->Advanced->Java Console.
У меня до сих пор эта проблема с одним из моих клиентов, проверю, какая версия windows (насколько я помню, он использует windows 7, 64-бит). Связь файла с pdf в порядке (проверено). И он использует последнюю версию java (проверял обновления java), так что, насколько мне известно, проблема все еще актуальна ...
Однако я столкнулся с этим отчетом об ошибке: Отчет об ошибке Sun 6764271
Говорят, что это может иметь какое-то отношение к регистрации некоторых версий Adobe (с использованием READ вместо OPEN в реестре Windows).
По-прежнему жаль, что такая ошибка имеет низкий приоритет и все еще является открытой ошибкой (о которой сообщалось в 2008 году).
Я скоро свяжусь со своим клиентом и обновлю свой ответ здесь, как только у меня будет решение.
Я нигде не мог найти ответ, но у меня есть две машины с 64-разрядной версией Windows 7, которые не работают с Desktop.getDesktop (). Open (file) с ошибкой при открытии файла или отказе в доступе на java 6 и java 7.
Проводник Windows может открывать приложения на основе имени файла с расширением:
Runtime rt = Runtime.getRuntime();
rt.exec(new String[]{"explorer", "C:\myfile.pdf"});
rt.exec(new String[]{"explorer", "C:\myfile.wmv"});
У меня такая же проблема с перспективой. Я нашел отчет об ошибке, в котором говорится, что вы удалить magiciso, но это не относится ко мне.