0

ユーザーが Windows で特定のファイル拡張子 (.pdf など) のデフォルト プログラムとして特定のプログラム (Adobe Reader/Adobe acrobat など) を選択したことを確認できるコマンドはありますか?

すなわち:

  • ファイルのプロパティからadobe readerデフォルトとして選択した場合PDF viewer
  • 文字列viewer1 = "Command .pdf"(コマンド プロンプトで実行)
  • 次に、ファイルのプロパティから acrobat に変更します → デフォルトのプログラムを変更します
  • 文字列viewer2 = "Command .pdf"(コマンド プロンプトで実行)

したがって、viewer1 != viewer2

私はJavaスイングで作業しているので、.pdfファイルに選択されたデフォルトのプログラムを見つけるライブラリまたは方法があれば、それも役に立ちます。

特定のファイル拡張子 (.pdf) の既定のプログラム パスを格納するレジストリ キーは存在しますか?

4

2 に答える 2

1

編集済み

さて、ここで一部を見逃しました。2 つのコマンドで構成されます。

  1. assoc拡張子とのファイルタイプの関連付けを取得します。.jpg=jpegimage
  2. ftypeデフォルトのハンドラーを取得するftype jpegimage

それが役立つことを願っています。2つをパイプライン化できると思いますが、Windowsでそれがどのように行われるかわかりません。

于 2013-05-21T04:39:55.263 に答える
1

特定の拡張子に関連付けられているデフォルトのコマンドは、次のように決定できます。

for /F "tokens=2 delims==" %a in ('assoc .pdf') do ftype %a

これをバッチ ファイルで使用する場合は、に変更%a%%aます。

ただし、ファイルのプロパティを介して関連付けられたコマンドを手動で上書きすると、別の場所 (特定Progidのキーの値)に格納されているように見えるためHKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice、 によって検出されませんassoc。次のようにレジストリから読み取ることができます。

reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf\UserChoice /v Progid
于 2013-05-21T17:37:16.183 に答える