Wyłącz monit o konwersję filmów skopiowanych na urządzenie multimedialne

35

Mam Samsung Galaxy S II, który po podłączeniu do mojego komputera z systemem Windows 7 działa jako „Portable Media Player”

Przenośny odtwarzacz multimedialny GT-I9100

Za każdym razem, gdy próbuję skopiować film na urządzenie, pojawia się monit, czy chcę go przekonwertować, tak jak poniżej:

Czy chcesz przekonwertować <wideo> przed skopiowaniem go na urządzenie?

Na dłuższą metę staje się to dość denerwujące, więc chciałbym to wyłączyć.

Czy istnieje sposób na wyłączenie tych monitów?

Sebastian Paaske Tørholm
źródło
1
Myślę, że to, co zrobiłem z moim N8, to połączenie go w trybie pamięci masowej, aby system Windows potraktował go jako standardowy dysk flash. Dla SII próbie Applications> Development> USB debugging.
Bob
Podłączenie tych urządzeń jako „Mass Storage” jest prawie zawsze szybsze i mniej problematyczne, jeśli synchronizacja nie jest konieczna, gdy tylko próbujesz skopiować pliki i wiesz, że pliki są sformatowane dla urządzenia.
Psycogeek
@Bob: Nie sądzę, że mogę to zrobić, odkąd przełączyłem się na Androida 4. Debugowanie USB jest włączone, ale nie przełącza go w tryb pamięci masowej, jak w 2.3.5, i pozwala mi tylko wybierz jeden z „Media Device (MTP)” lub „Camera (PTP)” dla trybu połączenia.
Sebastian Paaske Tørholm
Odpowiedzi poniżej są nieaktualne, ponieważ najnowszy system Android nie obsługuje już trybu pamięci masowej. I wygląda na to, że inteligentni inżynierowie Microsoft nigdy nie oczekiwali, że ludzie będą zirytowani, gdy będą musieli poradzić sobie z tym niepotrzebnym dialogiem potwierdzającym za każdym razem. Czy ktoś zna jakąkolwiek alternatywną aplikację do przesyłania MTP w systemie Windows? Coś podobnego do programu FTP, ale w MTP.
Cholerne warzywa

Odpowiedzi:

29

Dlaczego tak się dzieje

Ten monit jest jedną z funkcji implementowanych przez system Windows dla urządzeń podłączonych jako urządzenia MTP . Najbardziej pewnym sposobem na wyłączenie tego jest podłączenie Galaxy SII w trybie pamięci masowej USB. W ten sposób system Windows wykryje go jako normalny dysk flash i prześle pliki jak każdy inny dysk flash bez względu na typ. Jednak niektóre (pożądane) bardziej zaawansowane funkcje mogą zostać utracone.

Dwa podstawowe sposoby, aby temu zapobiec:

  • Podłącz telefon w trybie pamięci masowej.

  • Wyłącz rozszerzenie powłoki w systemie Windows, które to obsługuje. Istnieją dwa sposoby, aby zrobić to :

    • Wyrejestruj .dll.

    • Wyłącz rozszerzenie za pomocą ShellExView.


Opcja 1: Zmiana trybu połączenia telefonu

Włączanie trybu pamięci masowej w Galaxy SII ICS (Android 4.x) ( źródło ):

  1. Wyświetl ustawienia.
  2. Kliknij Więcej… (w obszarze Bezprzewodowe i sieciowe).
  3. Następnie wybierz Narzędzia USB ~ Ustaw tryb połączenia kablem USB.
  4. Wybierz Podłącz pamięć do komputera.
  5. Podłącz kabel USB z telefonu do komputera.
  6. Wybierz opcję Włącz pamięć USB. To wszystko.

Opcja 2: Wyrejestrowanie .dllrozszerzenia powłoki systemu Windows, które to obsługuje

Jeśli chcesz nadal korzystać z trybu MTP z jakiegokolwiek powodu, w witrynie Microsoft Answers został utworzony wątek adresujący się do wyłączenia tego monitu. Konkretnie:

Cóż, wcześniej nie mogłem znaleźć odniesień do tego okna dialogowego w żadnym pliku DLL systemu Windows 7, więc pomyślałem, że to nie jest związane z systemem Windows. Ale teraz spojrzałem ponownie i znalazłem odniesienia do tego w wpdshext.dll. Przepraszam, więc wygląda na to, że jest to standardowa funkcja systemu Windows.

Sugeruję, abyś spróbował wyrejestrować daną bibliotekę DLL. Otwórz menu Start, przejdź do Wszystkie programy - Akcesoria, kliknij prawym przyciskiem myszy Wiersz polecenia i wybierz Uruchom jako administrator. Następnie wpisz następujące polecenie:

regsvr32 / u wpdshext.dll

Prawdopodobnie powinieneś zrestartować się po uruchomieniu polecenia.

Nie wypróbowałem tej metody osobiście, a wyrejestrowanie standardowych bibliotek DLL systemu Windows może mieć nieoczekiwane konsekwencje. Jeśli coś pójdzie nie tak, zalecamy uruchomienie w trybie awaryjnym i uruchomienie regsvr32 wpdshext.dllw wierszu polecenia z podwyższonym poziomem uprawnień.


Wyłączanie rozszerzenia powłoki

Ta metoda może być bezpieczniejsza niż wyrejestrowanie .dll.

  1. Pobierz ShellExView

  2. Znajdź rozszerzenie o nazwie Portable Devices Menu

  3. Kliknij prawym przyciskiem myszy> Disable Selected Items

  4. Uruchom ponownie komputer (aby być bezpiecznym)

Kok
źródło
1
Nie zapytał, jak połączyć się w trybie MS, zapytał, jak wyłączyć monit.
Mark
3
@Mark Łączenie w trybie pamięci masowej to zdecydowany sposób na wyłączenie monitu. Innymi słowy, może przesyłać filmy wideo bez monitu o pożądany wynik. To odpowiada na pytanie, choć kosztem innych funkcji / zalet MTP. Wspomniałem o tym w pierwotnej odpowiedzi. Jednak właśnie wykopałem źródło wspominające o wyłączeniu okna dialogowego Konwertuj, podczas gdy (prawdopodobnie) zachowuję inne funkcje MTP, i dodałem to do odpowiedzi.
Bob
5
Teraz mogę głosować za twoją odpowiedzią! Zasadniczo zalety protokołu MTP (najważniejszym z nich jest to, że pamięć nie musi być najpierw odłączana od urządzenia) przeważają nad wadami. Tryb MS jest lepszy tylko wtedy, gdy wymagana jest absolutnie najwyższa prędkość.
Mark
3
Wyłączyłem rozszerzenie powłoki, ale nie usunęło to również monitu.
Ruud
2
Żadna z tych metod nie działa
monstro
5

Ponieważ nic nie wspomniane działa dla mnie w systemie Windows 8.1, oto alternatywne podejście przy użyciu skryptu w programie 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
    }
}
moneytoo
źródło
1

Wiele lat później ... może być jakiś sposób. Otwórz regedit jako administrator i przejdź do

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

Utwórz kopię zapasową tej „FormatMap”.

Następnie spróbujemy oszukać system Windows ... Zasadniczo będziesz musiał skopiować zawartość kluczy „Format” i „ContentType” z jednego formatu na inny.

Spróbuj użyć tych formatów źródłowych:

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

np. oryginalny klucz flac to

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

Dlatego zmienimy go na identyfikator WMA:

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

Możemy również dodać nowe formaty, takie jak .m4a (audio mp4):

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

Może to jednak mieć niepożądane efekty w dowolnej aplikacji używającej tych klawiszy ... Może WMP?

clorydric
źródło
Jak sam powiedziałeś, ma niepożądane skutki. Zdecydowanie. Nie możesz „naprawić” irytacji, czyniąc ją problemem technicznym.
Nie zauważyłem jeszcze niepożądanych efektów, ale nie używam WMP do słuchania muzyki. Co więcej, mój telefon nie jest rozpoznawany przez WMP, więc nie mogę wypróbować funkcji „synchronizacji”. Dowiedziałem się, że działa w przypadku przesyłania plików, ale nie wykonałem dodatkowych testów, a mój komputer nadal działa poprawnie. Jedyne możliwe problemy, jakie mogę sobie wyobrazić, to WMP lub sposób, w jaki system Windows analizuje urządzenia multimedialne pod kątem automatycznego uruchamiania. Czasami musimy wybierać między dwiema uciążliwościami ... Jakie były twoje?
clorydric
1

Moim rozwiązaniem było po prostu załatanie wpdshext.dll

W moim systemie (Windows 7 x64, z nie zainstalowanym WMP) jest funkcja otwierająca okno potwierdzenia

long __cdecl CObjectPropertyChecker::_DoesObjectMatchDeviceCapabilities(int)

który zwraca, 0jeśli kopia jest dozwolona, ​​w przeciwnym razie 1.

Właśnie zastąpiłem kilka pierwszych bajtów funkcji:

xor rax,rax
ret

więc zawsze wraca 0.

Jak dotąd dobrze działa; Prześlę raport, jeśli zauważę jakieś nieoczekiwane wyniki.


dla porównania, CRC mojego pliku wpdshext.dll było d6ca5ac8przed łataniem

i _DoesObjectMatchDeviceCapabilitiesjest w RVA0x95118

Kauterit
źródło
Dzięki. Co jest dobrym narzędziem do tego? Alternatywnie, czy mógłbyś gdzieś przesłać swój załatany plik?
Denis Howe
Proponuję x64dbg, ponieważ możesz dołączyć do eksploratora, przejdź do SymboleModuł „wpdshext.dll” → Pobierz symbole… , co ułatwia znalezienie funkcji do łatania.
Kuterit
-1

Dla tych z was, którzy mają problemy z uruchomieniem któregokolwiek z tych technicznych sugestii do pracy (jak ja), znalazłem obejście. Po prostu utwórz nowy folder na pulpicie komputera i skopiuj do niego wszystkie pliki, które chcesz przesłać na urządzenie. Następnie, po zakończeniu, wystarczy przeciągnąć cały folder na urządzenie, aby skopiować go w zwykły sposób. Pojawi się monit, ale możesz po prostu wybrać „zrób to dla wszystkich plików”, a przeniesie on całą zawartość folderu bez ponownego monitowania.

Russco
źródło