Desativar prompt para converter vídeos copiados para o dispositivo de mídia

35

Eu tenho um Samsung Galaxy S II, que quando conectado ao meu computador Windows 7 funciona como um "Portable Media Player"

GT-I9100 Media Player portátil

Sempre que tento copiar um vídeo no dispositivo, ele pergunta se eu quero convertê-lo, assim:

Deseja converter <video> antes de ser copiado para o seu dispositivo?

Isso fica bastante irritante a longo prazo, então eu gostaria de desativá-lo.

Existe uma maneira de desativar esses prompts?

Sebastian Paaske Tørholm
fonte
11
Acho que o que fiz com o meu N8 foi conectá-lo no modo de armazenamento em massa para que o Windows o tratasse como uma unidade flash padrão. Para a tentativa SII Applications> Development> USB debugging.
22412 Bob
É quase sempre mais rápido e menos problemático conectar esses dispositivos como "Armazenamento em massa" se a sincronização não for necessária. Quando você está apenas tentando copiar arquivos e sabe que os arquivos estão formatados para o dispositivo.
Psycogeek 19/03/12
@ Bob: Eu não acredito que posso fazer isso desde que mudei para o Android 4. A depuração USB está ativada, mas não o coloca no modo de armazenamento em massa, como aconteceu no 2.3.5, e só me permite escolha um dos "Media Device (MTP)" ou "Camera (PTP)" para o modo de conexão.
Sebastian Paaske Tørholm 21/03
As respostas abaixo estão desatualizadas, porque o Android recente não oferece mais suporte ao modo de armazenamento em massa. E parece que esses engenheiros inteligentes da Microsoft nunca esperaram que as pessoas ficassem irritadas quando tivessem que lidar com esse diálogo desnecessário de confirmação a cada vez. Alguém conhece algum aplicativo de transferência MTP alternativo no Windows? Algo semelhante a um programa FTP, mas no MTP.
Damn Vegetables

Respostas:

29

Por que isso acontece

Esse prompt é um dos recursos que o Windows implementa para dispositivos conectados como dispositivos MTP . A maneira mais certa de desativá-lo é conectar o Galaxy SII no modo USB Mass Storage. Dessa forma, o Windows o detectará como uma unidade flash normal e transferirá arquivos como qualquer outra unidade flash sem se preocupar com o tipo. Algumas funcionalidades (desejadas) mais avançadas podem ser perdidas, no entanto.

As duas maneiras básicas de impedir que isso aconteça:

  • Conecte o telefone no modo de armazenamento em massa.

  • Desabilite a extensão do shell no Windows que lida com isso. Existem duas maneiras de fazer isso :

    • Cancele o registro do .dll.

    • Desabilite a extensão com ShellExView.


Opção 1: Alterar o modo de conexão do telefone

Ativando o modo de armazenamento em massa no Galaxy SII ICS (Android 4.x) ( fonte ):

  1. Trazer configurações.
  2. Clique em Mais… (em Sem fio e rede).
  3. Em seguida, selecione Utilitários USB ~ Definir o modo de conexão do cabo USB.
  4. Selecione Conectar armazenamento ao PC.
  5. Conecte o cabo USB do telefone ao PC.
  6. Selecione Ativar armazenamento USB. Isso é tudo.

Opção 2: cancelando o registro da .dllextensão de shell do Windows que lida com isso

Se você deseja continuar usando o modo MTP por qualquer motivo, houve um encadeamento criado no Microsoft Answers que aborda especificamente a desativação desse prompt. Especificamente:

Bem, anteriormente eu não conseguia encontrar referências a essa caixa de diálogo em nenhum arquivo DLL do Windows 7, então pensei que não era relacionado ao Windows. Mas agora olhei novamente e encontrei referências a ele no wpdshext.dll. Portanto, parece ser um recurso padrão do Windows, minhas desculpas.

Eu sugiro que você tente cancelar o registro da DLL em questão. Por favor, abra o Menu Iniciar, vá para Todos os Programas - Acessórios, clique com o botão direito do mouse em Prompt de Comando e selecione Executar como administrador. Em seguida, digite o seguinte comando:

regsvr32 / u wpdshext.dll

Você provavelmente deve reiniciar após executar o comando.

Eu não tentei esse método pessoalmente, e o cancelamento do registro de DLLs padrão do Windows pode ter consequências inesperadas. Se algo der errado, recomendo que você inicie no Modo de Segurança e execute regsvr32 wpdshext.dllem um prompt de comando elevado.


Desativando a extensão do shell

Este método pode ser mais seguro do que cancelar o registro a .dll.

  1. Baixar ShellExView

  2. Encontre a extensão chamada Portable Devices Menu

  3. Clique com o botão direito> Disable Selected Items

  4. Reinicie o seu computador (por segurança)

Prumo
fonte
11
Ele não perguntou como se conectar no modo MS, ele perguntou como desativar o prompt.
Mark
3
@Mark A conexão no modo de armazenamento em massa é uma maneira definitiva de desativar o prompt. Em outras palavras, ele pode transferir vídeos sem o prompt, o resultado desejado. Isso responde à pergunta, embora à custa de outras vantagens / funcionalidades do MTP. Eu mencionei isso na resposta original. No entanto, eu acabei de descobrir uma fonte mencionando a desativação da caixa de diálogo Converter, mantendo (presumivelmente) outra funcionalidade do MTP, e adicionei isso à resposta.
19412 Bob
5
Agora eu posso votar sua resposta! Geralmente, as vantagens do MTP (a principal delas é que o armazenamento em questão não precisa ser desmontado do dispositivo primeiro) superam as desvantagens. Somente quando a velocidade mais alta absoluta é necessária, o modo MS é melhor.
Mark
3
Desativei a extensão do shell, mas ela também não removeu o prompt.
Ruud 27/05
2
Nenhum destes métodos de trabalho
monstro
5

Como nada mencionado funciona para mim no Windows 8.1, aqui está uma abordagem alternativa usando um script no 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
fonte
1

Anos depois ... pode haver uma maneira. Abra o regedit como administrador e vá para

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

Faça backup deste "FormatMap".

Em seguida, tentaremos enganar o Windows ... Basicamente, você precisará copiar o conteúdo das chaves "Formato" e "ConteúdoTipo" de um formato para outro.

Tente usar estes formatos de origem:

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

Por exemplo, a chave original para flac é

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

Então, vamos mudar para o ID da WMA:

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

Também poderíamos adicionar novos formatos, como .m4a (áudio mp4):

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

No entanto, pode ter efeitos indesejados em qualquer aplicativo usando essas chaves ... Talvez WMP?

clorydric
fonte
Como você mesmo disse, tem efeitos indesejados. Definitivamente. Você não deve "consertar" o aborrecimento, tornando-o um problema técnico.
Ainda não notei efeitos indesejados, mas não uso o WMP para ouvir música. Além disso, meu telefone não é reconhecido pelo WMP, por isso não posso tentar o recurso "sincronizar". Descobri que funciona para transferência de arquivos, mas não fiz testes adicionais e meu computador ainda funciona bem. Os únicos problemas possíveis que posso imaginar são com o WMP ou a maneira como o Windows analisa dispositivos de mídia para execução automática. Às vezes temos que escolher entre dois aborrecimentos ... Quais foram os seus?
Clorydric 2/17
1

Minha solução foi apenas corrigir o wpdshext.dll

No meu sistema (Windows 7 x64, com o WMP não instalado), a função que abre a caixa de confirmação é

long __cdecl CObjectPropertyChecker::_DoesObjectMatchDeviceCapabilities(int)

que retorna 0se a cópia for permitida, caso contrário 1.

Acabei de substituir os primeiros bytes da função por:

xor rax,rax
ret

por isso sempre retorna 0.

Trabalhando bem até agora; Vou relatar se detectar resultados inesperados.


para referência, o CRC do meu wpdshext.dll era d6ca5ac8, antes de aplicar o patch

e _DoesObjectMatchDeviceCapabilitiesestá na RVA0x95118

Cauterita
fonte
Obrigado. O que é uma boa ferramenta para fazer isso? Como alternativa, você pode enviar seu arquivo corrigido em algum lugar?
Denis Howe
Eu sugiro o x64dbg, já que você pode se conectar ao explorer, vá para SímbolosMódulo 'wpdshext.dll' → Baixar símbolos… , o que facilita a localização da função a ser corrigida.
Cauterite 24/09
-1

Para aqueles que estão com problemas para fazer funcionar alguma dessas sugestões técnicas (como eu), encontrei uma solução alternativa. Basta criar uma nova pasta na área de trabalho do PC e copiar para ela todos os arquivos que você deseja transferir para o seu dispositivo. Depois disso, basta arrastar a pasta inteira para o seu dispositivo para copiá-la normalmente. O prompt aparecerá, mas você pode simplesmente selecionar "faça isso para todos os arquivos" e ele será transferido para todo o conteúdo da pasta sem solicitar novamente.

Russco
fonte