web-dev-qa-db-ja.com

メディアデバイスにコピーされたビデオを変換するプロンプトを無効にする

Samsung Galaxy S IIを持っています。Windows7コンピューターに接続すると、「ポータブルメディアプレーヤー」として機能します

GT-I9100 Portable Media Player

ビデオをデバイスにコピーしようとすると、次のように変換するかどうかを尋ねるプロンプトが表示されます。

Do you want to convert <video> before it's copied to your device?

これは長い目で見れば煩わしいので、無効にしたいと思います。

これらのプロンプトを無効にする方法はありますか?

なぜこれが起こるのか

このプロンプトは、Windowsが MTPデバイス として接続されているデバイスに実装する機能の1つです。これを無効にする最も確実な方法は、Galaxy SIIをUSBマスストレージモードで接続することです。このように、Windowsはそれを通常のフラッシュドライブとして検出し、タイプを気にせずに他のフラッシュドライブと同様にファイルを転送します。ただし、一部の(望ましい)より高度な機能が失われる可能性があります。

これを防ぐための2つの基本的な方法:

  • マスストレージモードで電話を接続します。

  • これを処理するWindowsのシェル拡張を無効にします。これを行うには2つの方法がありますthis

    • .dllの登録を解除します。

    • ShellExViewで拡張機能を無効にします。


オプション1:電話接続モードの変更

Galaxy SIIでマスストレージモードを有効にするICS(Android 4.x)( source ):

  1. 設定を呼び出します。
  2. [詳細]をクリックします([ワイヤレスとネットワーク]の下)。
  3. 次に、USBユーティリティを選択します。USBケーブル接続モードを設定します。
  4. [PCにストレージを接続]を選択します。
  5. 電話からPCにUSBケーブルを接続します。
  6. [USBストレージをオンにする]を選択します。それで全部です。

オプション2:これを処理するWindowsシェル拡張の.dllの登録を解除する

何らかの理由でMTPモードを使い続けたい場合は、 Microsoft Answersでスレッドが作成されています このプロンプトの無効化に具体的に対処しています。具体的には:

さて、以前はどのWindows 7でもそのダイアログへの参照を見つけることができませんでしたDLLファイルなので、Windowsに関連するものではないと思いました。しかし、今もう一度調べて、 wpdshext.dllにあるので、Windowsの標準機能のようです。

問題のDLLの登録を解除することをお勧めします。スタートメニューを開き、[すべてのプログラム-アクセサリ]に移動し、[コマンドプロンプト]を右クリックして、[管理者として実行]を選択します。次に、次のコマンドを入力します。 :

regsvr32/u wpdshext.dll

コマンドを実行した後、おそらく再起動する必要があります。

私はこの方法を個人的に試していません。標準のWindows DLLの登録を解除すると、予期しない結果が生じる可能性があります。問題が発生した場合は、セーフモードで起動し、昇格したコマンドプロンプトでregsvr32 wpdshext.dllを実行することをお勧めします。


シェル拡張を無効にする

この方法は、.dllの登録を解除するよりも安全な場合があります。

  1. ダウンロード ShellExView

  2. Portable Devices Menuという名前の拡張機能を見つけます

  3. 右クリック> Disable Selected Items

  4. コンピュータを再起動します(安全のため)

29
Bob

何も述べられていないので、Windows 8.1では機能しません。 AutoHotkey のスクリプトを使用した別の方法を次に示します。

dlgTitle := "Copy"
dlgBtnUnwantedAction := "No, skip this file"
dlgBtnWantedAction := "Yes"
dlgTitleAlt := "Convert and Copy"
dlgBtnUnwantedActionAlt := "Yes, convert and copy (recommended)"
dlgBtnWantedActionAlt := "No, just copy"
dlgBtnCancel := "Cancel"
GroupAdd, dlgTitles, %dlgTitle% ahk_class #32770
GroupAdd, dlgTitles, %dlgTitleAlt% ahk_class #32770

SetTitleMatchMode 3
matchFound := false

Loop
{
    WinWait ahk_group dlgTitles
    matchFound := false

    ControlGetText, button1Text, Button1, ahk_group dlgTitles
    if ( button1Text = dlgBtnUnwantedAction || button1Text = dlgBtnUnwantedActionAlt ) {
        ControlGetText, button2Text, Button2, ahk_group dlgTitles
        if ( button2Text = dlgBtnWantedAction || button2Text = dlgBtnWantedActionAlt ) {
            ControlGetText, button3Text, Button3, ahk_group dlgTitles
            if ( button3Text = dlgBtnCancel ) {
                matchFound := true
            }
        }       
    }

    if ( matchFound ) {
        ControlClick, Button2, ahk_group dlgTitles
    } else {
        WinWaitClose ahk_group dlgTitles
    }
}
5
moneytoo

数年後...方法があるかもしれません。管理者としてregeditを開き、次に進みます

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Portable Devices\FormatMap\

この「FormatMap」をバックアップします。

次に、Windowsをだまそうとします...基本的に、「Format」キーと「ContentType」キーのコンテンツをフォーマット間でコピーする必要があります。

これらのソース形式を使用してみてください:

.gif, .bmp for images (jpeg, png...) :
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Portable Devices\FormatMap\.gif]
"Format"="{38070000-AE6C-4804-98BA-C57B46965FE7}"
"ContentType"="{EF2107D5-A52A-4243-A26B-62D4176D7603}"

.wma for audio (mp3,mp4, aac, flac...) :
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Portable Devices\FormatMap\.wma]
"Format"="{B9010000-AE6C-4804-98BA-C57B46965FE7}"
"ContentType"="{4AD2C85E-5E2D-45E5-8864-4F229E3C6CF0}"

.wmv for video (avi mp4...) :
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Portable Devices\FormatMap\.wmv]
"Format"="{B9810000-AE6C-4804-98BA-C57B46965FE7}"
"ContentType"="{9261B03C-3D78-4519-85E3-02C5E1F50BB9}"

.doc, .xls, .ppt for documents or other files :
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Portable Devices\FormatMap\.doc]
"Format"="{BA830000-AE6C-4804-98BA-C57B46965FE7}"
"ContentType"="{680ADF52-950A-4041-9B41-65E393648155}"

たとえば、flacの元のキーは

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Portable Devices\FormatMap\.flac]
"Format"="{B9060000-AE6C-4804-98BA-C57B46965FE7}"
"ContentType"="{4AD2C85E-5E2D-45E5-8864-4F229E3C6CF0}"

したがって、これをWMAのIDに変更するだけです。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Portable Devices\FormatMap\.flac]
"Format"="{B9010000-AE6C-4804-98BA-C57B46965FE7}"
"ContentType"="{4AD2C85E-5E2D-45E5-8864-4F229E3C6CF0}"

.m4a(オーディオmp4)などの新しい形式を追加することもできます。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Portable Devices\FormatMap\.m4a]
"Format"="{B9010000-AE6C-4804-98BA-C57B46965FE7}"
"ContentType"="{4AD2C85E-5E2D-45E5-8864-4F229E3C6CF0}"

ただし、これらのキーを使用するすべてのアプリに望ましくない影響を与える可能性があります...たぶんWMP?

1
clorydric

私の解決策は、パッチを当てることでしたwpdshext.dll

私のシステム(WMPがインストールされていないWindows 7 x64)では、確認ボックスを開く機能は

long __cdecl CObjectPropertyChecker::_DoesObjectMatchDeviceCapabilities(int)

コピーが許可されている場合は0、それ以外の場合は1を返します。

関数の最初の数バイトを次のように置き換えました。

xor rax,rax
ret

したがって、常に0を返します。

これまでのところうまくいきます。予期しない結果に気付いた場合は報告します。


参考までに、パッチを適用する前の私のwpdshext.dllのCRCはd6ca5ac8でした

_DoesObjectMatchDeviceCapabilitiesはRVAにあります0x95118

1
Cauterite

これらの技術的な提案を機能させるのに苦労している人たち(私のように)には、回避策を見つけました。 PCデスクトップに新しいフォルダーを作成し、デバイスに転送するすべてのファイルをそのフォルダーにコピーするだけです。次に、それが完了したら、フォルダー全体をデバイスにドラッグして、通常どおりにコピーします。プロンプトが表示されますが、「すべてのファイルに対してこれを実行する」を選択するだけで、プロンプトを表示せずにフォルダのコンテンツ全体に転送されます。

0
Russco