web-dev-qa-db-ja.com

Windows7のファイルの関連付け.mov

新しいWindows7SP1ベースイメージを作成しました。それですべてがうまくそしてダンディです。

だから私は今標準的なアプリケーションをインストールしています

Quicktimeで.movファイルを管理したいのですが。唯一の問題は、WMP(Windows Media Player)が.movファイルへの関連付けを放棄しないことです。

それは私を夢中にさせています...私はファイルの関連付けを修正する方法についてのスレッドを読んでいます。

レジストリ、PowerShell、またはコマンドラインを介して実行したいと思います。 GPOを使用できません

私は以下を試しました:

assoc .mov=QuickTime.mov
ftype QuickTime.mov="%ProgramFiles(x86)\QuickTime\QuickTimePlayer.exe"

Reg add HKCU\Software\Microsoft\windows\CurrentVersion\Explorere\FileExts\.mov\UserChoice" /v Progid /d QuickTime.mov /f

Reg add HKCU\Software\Microsoft\windows\CurrentVersion\Explorere\FileExts\.mov\OpenWithList" /v a /d QuickTimePlayer.exe /f

Reg add "HKCU\Software\Microsoft\windows\CurrentVersion\Explorere\FileExts\.mov\OpenWithList" /v b /d wmplayer.exe /f

Reg add HKCU\Software\Microsoft\windows\CurrentVersion\Explorere\FileExts\.mov\OpenWithList" /v MRUList /d ab /f

Reg add HKCU\Software\Microsoft\windows\CurrentVersion\Explorere\FileExts\.mov\OpenWithProgids" /v Quicktime.mov /t REG_NONE /d 0000 /f

Reg add HKCU\Software\Microsoft\windows\CurrentVersion\Explorere\FileExts\.mov\OpenWithProgids" /v WMP11.AssocFile.MOV /t REG_NONE /d 0000 /f
5
Paul Mung

まず、「assoc」コマンドは、HKEY_CLASSES_ROOTのファイルタイプの一般的な関連付けを変更します。 regeditでエントリを確認すると、正常に変更できることがわかると思います。 UserChoiceサブキーにユーザー設定がすでに設定されている場合は、優先されるため、これは役に立ちません。あなたはすでにこれを知っていると思います、そしてそれがあなたが他のレジストリキーを直接変更しようとしている理由です。

次に気付いたのは、キーパスのエラーです。 「Explorer」の代わりに「Explorere」を使用しています。これはおそらく、キーを変更しようとしてもエラーメッセージが表示されないことを意味します。新しい未使用のキーを作成する場合、ファイルの動作には影響しません。

次に、キーを変更する方法について質問しているように見えましたが、メソッドについては心配していないようでした(スクリプト化されている限り)ので、PowerShellを試してみました。 UserChoiceを書き込もうとするたびにセキュリティ例外が発生しますが、他のキーについては発生しません。問題は、この特定のレジストリキーのアクセス権にあるようです。 PowerShellでACLを読み取ると、アカウントのレジストリアクセスルールの「SetValue」が「Deny」であることがわかりました。

次の page は、この問題を回避し、必要な権限を削除する方法についての優れた説明を提供します。これが私のWin7PCで私のために働いた結果のスクリプトです。 .movファイルを使用して確認しました。スクリプトは、ファイルをダブルクリックしたときに呼び出されたプログラムを正常に変更しました。

$user=<your user account name>
$name = "Software\Microsoft\windows\CurrentVersion\Explorer\FileExts\.mov\UserChoice"
$RegKey ="HKCU:\" + $name
Get-ItemProperty -path $RegKey
get-acl -path $RegKey
$key = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey($name, [Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,
[System.Security.AccessControl.RegistryRights]::ChangePermissions) 
$acl = $key.GetAccessControl()
$rule=new-object System.Security.AccessControl.RegistryAccessRule ($user, 'SetValue', 'Deny')
$acl.RemoveAccessRule($rule)
$key.SetAccessControl($acl)
get-acl -path $RegKey
Set-ItemProperty -path $RegKey -name Progid -value 'WMP11.AssocFile.MOV' -type String
Get-ItemProperty -path $RegKey

さらにエラーがある場合は、ACLのアクセス許可を比較することをお勧めします。スクリプトは、キーの前後のACLと、キーの現在の内容を出力します。

注意事項1.表示されているアイコンが更新されない場合があります。 .movファイルをダブルクリックしてテストします。 2.問題がある場合は、値を手動で変更できること、およびregeditで同等の変更を確認できることを確認してください。

更新:ユーザー固有の設定を維持したいと思っていましたが、もう一度説明を読んだときに、そうではないことに気付きました。これを指定します。すべてのユーザーの関連付けを変更する場合は、 this のような比較的単純なコマンドを使用してUserChoiceキーを完全に削除する必要があります。次に、「assoc」コマンドでうまくいくはずです。

0
tiktok

デフォルトのプログラムエディタを試してください。ファイルタイプの設定に移動し、.movファイルを選択してから、OpenアイテムをQuicktimeに変更します。

次に、変更を.regファイルとして保存して、検査/適用/保存/展開できます。

0
Factor Mystic