0

ローカルに作成されたファイル (PDF、Word など) を署名付きアプレット内から起動できない大規模なユーザー グループが 1 つあります。Windows エクスプローラーからファイルをダブルクリックすると、ファイルが起動するため、起動アプリへのファイルの関連付けが認識されます。技術サポートは、UAC が有効になっているマシンにリモートでログインし、アプレットの読み込みに問題がなく、問題なくローカル ファイルを起動できます。これは、大規模なグループには共通のローカル設定があると思わせます。ユーザーは Windows XP (または 7、不明) で Java 1.6u31 を実行しています。エラーは表示されず、Java コンソールにも何も表示されません (問題が見当たらないため、すべて噂話です)。この動作を引き起こす可能性のあるローカル PC 設定について何か提案はありますか? コードによると、問題は Desktop がサポートされているように見えますが、Desktop.Action.OPEN はサポートされていません。なぜ何か提案はありますか?ありがとう。
以下を使用してファイルを起動しています。

            /*
            //old way that would work for Windows prior to Java 1.6
            //cmd = System.getenv("windir") +"\\system32\\"+"rundll32 SHELL32.DLL,ShellExec_RunDLL " + cmd;
            //cmd = "open "+cmd;  // Mac for PDF only?
            //try{
            //  Runtime.getRuntime().exec(cmd);
            //} catch (Exception e) {
            //  //handle error
            //}
            */
            Desktop desktop = null;
            if (Desktop.isDesktopSupported()) {
                desktop = Desktop.getDesktop();
                if (desktop.isSupported(Desktop.Action.OPEN)) {
                    try {
                        desktop.open(new File(file));
                        return;
                    } catch (IOException e) {
                        //Error launching the file
                        e.printStackTrace();
                        JOptionPane.showMessageDialog(theFrame,
                            "Unable to launch the file.",
                            "Document Error", JOptionPane.ERROR_MESSAGE);
                        return;
                    }
                }
            } else {
                //This OS cannot launch the file
                JOptionPane.showMessageDialog(theFrame,
                        "This operating system is unable" +
                        "\nto launch external files" +
                        "\nfrom within this application.",
                        "Document Error", JOptionPane.ERROR_MESSAGE);
                    return;
            }
4

1 に答える 1

0

純粋な推測:

1) 影響を受けるユーザーはすべて Windows 7 を使用しています。

2) Vista/Win 7 の「UAC」に悩まされている:

提案 (診断のみ):

影響を受けるユーザーの 1 人を見つけ、UAC を無効にしてみて、「突然機能し始める」かどうかを確認します。

Control Panel->User Accounts->Turn User Account Control off

================================================== ================================

補遺 2012 年 8 月 24 日:

1)あなたのその後のメモから、プログラムを実行しようとしているだけでなく、実際にWindowsファイルの関連付けを呼び出そうとしていることがわかりました(つまり、.pdfを「シェルで開く」と「AcroReader」のインスタンスを起動する必要があります) .

2) このリンクを見てください:

3) JDIC を更新する (必要な場合)

4) アプレットにいくつかのテスト ボタンを追加します。

a) notepad.exe を「開く」(.exe を名前で直接呼び出せるかどうかを確認してください)

b) somefile.txt を「開く」(「.txt」の「メモ帳」など、ファイルの関連付けを呼び出すことができるかどうかを確認します)

5) 上記のいずれも解決につながらない場合は、「失敗した PC」の 1 つに直接アクセスして、「ハンズオン」でデバッグできるようにします。

「お役に立てば幸いです!

于 2012-08-23T21:41:31.970 に答える