Você terá que associar a extensão MKV a um arquivo em lotes ou a um script do PowerShell / VB que, por sua vez, executa a verificação do tamanho do arquivo e chama o aplicativo apropriado.
Veja como fazer isso com um arquivo em lotes:
-
Abra regedit , navegue até
HKEY_CLASSES_ROOT\.mkv
e observe o valor (Padrão) . Este é o ProgID . Vamos supor que seja mkvfile . -
Navegue até
HKEY_CLASSES_ROOT\mkvfile\shell\open\command
e modifique o valor (Padrão) para algo como"D:\MKVSizeCheck.bat" "%1"
. -
Agora crie o arquivo em lote
D:\MKVSizeCheck.bat
com o seguinte conteúdo:if %~z1 leq 524288000 ( start "" /max "C:\Program Files\VLC\VLC.exe" "%~1" ) else ( start "" /max "C:\Program Files\PowerDVD\PowerDVD.exe" "%~1" )
Veja como fazer isso com o VBScript:
-
O mesmo que acima.
-
Navegue até
HKEY_CLASSES_ROOT\mkvfile\shell\open\command
e modifique o valor (Padrão) para algo comowscript //B "D:\MKVSizeCheck.vbs" "%1"
. -
Agora crie o arquivo
D:\MKVSizeCheck.vbs
com o seguinte conteúdo:set objArgs = WScript.Arguments set objShell = WScript.CreateObject("WScript.Shell") set objFSO = WScript.CreateObject("Scripting.FileSystemObject") if objFSO.GetFile(objArgs.Item(0)).Size <= 524288000 then objShell.Run """C:\Program Files\VLC\VLC.exe"" """ & objArgs.Item(0) & """", 3, false else objShell.Run """C:\Program Files\PowerDVD\PowerDVD.exe"" """ & objArgs.Item(0) & """", 3, false end if
Nota # 1: Modifique os caminhos conforme necessário, obviamente. Além disso, o código acima define 500MB (= 524288000 bytes) como o limite, então mude isso também de acordo com suas necessidades (valores muito grandes podem ser possíveis apenas no VBScript).
Observação 2: sempre é possível usar um utilitário como FileTypesMan para executar as etapas de 1 a 2 caso você ' não tem certeza sobre a edição manual do registro.
Observação 3: usar um arquivo em lotes fará com que a janela do console pisque, o que pode ser irritante. Agora isso pode ser escondido usando algo como Hidden Start ou VBScript, mas por que se incomodar quando é melhor usar diretamente o VBScript em o primeiro lugar.