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


35

Samsung Galaxy S IIがあり、Windows 7コンピューターに接続すると「ポータブルメディアプレーヤー」として機能します

GT-I9100ポータブルメディアプレーヤー

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

<video>をデバイスにコピーする前に変換しますか?

これは長い目で見れば非常に面倒なので、無効にしたいと思います。

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


1
N8で行ったことは、Windowsが標準のフラッシュドライブとして扱うように大容量記憶モードで接続したことだと思います。SIIの試行のためにApplications> Development> USB debugging
ボブ

同期が不要である場合、ファイルをコピーしようとして、ファイルがデバイス用にフォーマットされていることがわかっている場合、これらのデバイスを「大容量記憶装置」として接続することはほとんど常に高速で問題が少なくなります。
サイコギーク

@Bob:Android 4に切り替えたので、それができるとは思わない。USBデバッグは有効になっているが、2.3.5のようにマスストレージモードにされず、接続モードとして「メディアデバイス(MTP)」または「カメラ(PTP)」のいずれかを選択します。
セバスチャン・パスケ・トーホルム12年

最近のAndroidは大容量記憶モードをサポートしなくなったため、以下の回答は時代遅れです。そして、それらの賢いマイクロソフトのエンジニアは、その不要な確認ダイアログを毎回処理しなければならないときに人々がイライラすることを決して期待しなかったようです。誰かがWindows上の代替MTP転送アプリケーションを知っていますか?FTPプログラムに似ていますが、MTPにあります。
くそ野菜

回答:


29

これが起こる理由

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

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

  • 電話を大容量記憶モードで接続します。

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

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

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


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

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

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

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

何らかの理由で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. コンピューターを再起動します(安全のため)


1
彼はMSモードで接続する方法を尋ねず、プロンプトを無効にする方法を尋ねました。
マーク

3
@Mark Mass Storageモードでの接続は、プロンプトを無効にする明確な方法です。言い換えれば、彼はプロンプトなしでビデオを転送することができます、望ましい結果。これは、他のMTP機能/利点を犠牲にしてはいますが、質問に答えます。私は元の答えでそれを言及しました。ただし、他のMTP機能を(おそらく)維持しながら、特に変換ダイアログを無効にすることについて言及したソースを掘り下げて、それを回答に追加しました。
ボブ

5
今、あなたの答えに賛成できます!一般に、MTPの利点(問題のストレージを最初にデバイスからアンマウントする必要がないという主な利点)が欠点を上回ります。絶対的な最高速度が必要な場合のみ、MSモードが優れています。
マーク

3
シェル拡張を無効にしましたが、プロンプトも削除しませんでした。
ルード

2
これらのメソッドはどれも動作しません
monstro

5

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
    }
}

1

数年後...方法があるかもしれません。管理者として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かもしれませんか?


あなた自身が言ったように、それは望ましくない効果をもたらします。間違いなく。迷惑を技術的な問題にして「修正」してはなりません。

不要な効果は(まだ)気づいていませんが、音楽を聴くためにWMPを使用していません。さらに、私の携帯電話はWMPで認識されないため、「同期」機能を試すことができません。ファイル転送で機能することがわかりましたが、追加のテストは行わず、コンピューターは引き続き正常に動作します。私が想像できる唯一の問題は、WMPまたはWindowsが自動実行のためにメディアデバイスを分析する方法に関するものです。時々、私たちは2つの迷惑から選択する必要があります...あなたは何でしたか?
クロリドリック

1

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

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

long __cdecl CObjectPropertyChecker::_DoesObjectMatchDeviceCapabilities(int)

0コピーが許可されている場合はそれを返し、そうでない場合はを返します1

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

xor rax,rax
ret

したがって、常に戻ります0

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


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

そして_DoesObjectMatchDeviceCapabilitiesRVAにいる0x95118


ありがとう。これを行うための良いツールは何ですか?または、パッチを適用したファイルをどこかにアップロードできますか?
デニス・ハウ

あなたはエクスプローラに添付することができますので、私はに行く、x64dbgを示唆記号モジュール →「wpdshext.dll」ダウンロードシンボル...それは簡単なパッチに関数を見つけることができます。
コーテライト

-1

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.