Проблема с Java 1.6 и Desktop.open () - PullRequest
       18

Проблема с Java 1.6 и Desktop.open ()

6 голосов
/ 17 сентября 2008

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

Кто-нибудь еще видел эту проблему?

Ответы [ 3 ]

3 голосов
/ 17 сентября 2008

Это известная проблема с ранними версиями XP SP2, функция ShellExecute перестала принимать URI; обновлять исправления для машин XP.

Чтобы просмотреть исключения, убедитесь, что консоль Java включена:

Control Panel->Java Control Panel->Advanced->Java Console.
1 голос
/ 01 апреля 2012

Я нигде не смог найти ответ, но у меня есть две машины с 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"});
0 голосов
/ 14 марта 2012

У меня все еще есть эта проблема с одним из моих клиентов, я проверю, какая версия Windows (насколько я помню, он использует Windows 7, 64-битные). Ассоциация файлов с pdf в порядке (проверил это). И он использует последнюю версию Java (проверил обновления Java), так что все еще актуальная проблема, насколько я обеспокоен .....

Однако я столкнулся с этим сообщением об ошибке: отчет об ошибке солнца 6764271

Говорят, что это может быть связано с регистрацией некоторых версий Adobe (с использованием READ вместо OPEN в реестре Windows).

По-прежнему жаль, что такая ошибка низка для prio и все еще остается открытой ошибкой (сообщалось в 2008 году).

Я скоро свяжусь со своим клиентом и обновлю свой ответ здесь, как только получу его разрешение.

...