Что нового

Как привязать видео фаил к определённому плееру ?

Alex512

Новичок
Сообщения
1
Репутация
0
Здраствуйте
совсем недавно Начал осваивать Autolt написал пару скриптов для автоматической установки программ очень понравился язык а теперь по делоу-)


мне нужно написать код который будет привязывать определеный формат (например avi) к определеному плееру (чтобы этот плеер открывал его в дальнейшем по умолчанию)

кто не понял
объясню подробней
мне часто приходеца переустанавливать винду Win10 64bit
также устанавливаюца различные программы по скрипту
и в дальнейшем приходеца в ручную привязывать определённые форматы файлов , например видео формат avi
тобиш мне надо кликнуть по видео файлу avi правой кнопкой мыши, выбрать в меню Открыть с помощью и там уже руками искать нужный мне плеер выделять его и ставить галочку Использовать по умолчанию!!
на это у меня уходит большое количество времени так как форматов видео достаточно много avi, mov, и так далее

для этого я хочу написать скрипт но мозгов нахватает-))) который при одном запуски мне это все проделает автоматический за секунду времени.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Можно на уже полностью настроенной системе - сохранить все Ваши ассоциации файлов с программами отдельно в файл xml, где то на диске D (в примере D:\Backups\DefaultAssoc.xml) и уже после переустановки Виндовса - перенести эту ассоциацию из Backup , вот пример:
Код:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#RequireAdmin
$Form1 = GUICreate("Form1", 250, 110)
$Button1 = GUICtrlCreateButton("Сохранить ассоциацию файлов", 10, 16, 230, 33)
$Button2 = GUICtrlCreateButton("Восстановить ассоциацию файлов", 10, 56, 230, 33)
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            Run('Dism.exe /online /Export-DefaultAppAssociations:D:\Backups\DefaultAssoc.xml')
        Case $Button2
            Run('Dism.exe /Online /Import-DefaultAppAssociations:D:\Backups\DefaultAssoc.xml')

    EndSwitch
WEnd
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Код:
Global $g_REGTYPE_REG_SZ = 'REG_SZ'
Global $g_REGTYPE_REG_EXPAND_SZ = 'REG_EXPAND_SZ'

_RegSetFileExt('avi', @ProgramFilesDir & '\My Player\Player.exe %1', 'Open with My Player', True, '', 'AVI file')

; #FUNCTION# ====================================================================================================================
; Name ..........: _RegSetFileExt
; Description ...: Registers a file type in Explorer.
; Syntax ........: _RegSetFileExt($sExt, $sCommand, $sVerb[, $fDefault = False[, $sIcon = ""[, $sDescription = ""]]])
; Parameters ....: $sExt                - File Extension without period eg. "zip".
;                  $sCommand            - Program path with arguments eg. (%1 is 1st argument, %2 is 2nd, etc.).
;                  $sVerb               - Name of action to perform on file, eg. "Open with ProgramName" or "Extract Files".
;                  $fDefault            - [optional] If True, Action is the default action for this filetype. Default is False.
;                                                     If the file is not already associated, this will be the default.
;                  $sIcon               - [optional] Default icon for filetype including resource # if needed
;                                                     eg. "C:\test\testprog.exe,0" or "C:\test\filetype.ico".
;                                                    Default is "".
;                  $sDescription        - [optional] File Description eg. "Zip File" or "ProgramName Document". Default is "".
; Return values .: 1.
; Author ........: G.Sandler
; Modified ......: 
; Remarks .......: 
; Related .......: 
; Link ..........: 
; Example .......: No
; ===============================================================================================================================
Func _RegSetFileExt($sExt, $sCommand, $sVerb, $fDefault = False, $sIcon = "", $sDescription = "")
    Local $sExtRead = RegRead("HKCR\." & $sExt, "")
    
    If @error Then
        RegWrite("HKCR\." & $sExt, "", $g_REGTYPE_REG_SZ, $sExt & "file")
        $sExtRead = $sExt & "file"
    EndIf
    
    Local $sCurrentDescription = RegRead("HKCR\" & $sExtRead, "")
    
    If @error Then
        If $sDescription <> "" Then RegWrite("HKCR\" & $sExtRead, "", $g_REGTYPE_REG_SZ, $sDescription)
    Else
        If $sDescription <> "" And $sCurrentDescription <> $sDescription Then
            RegWrite("HKCR\" & $sExtRead, "", $g_REGTYPE_REG_SZ, $sDescription)
            RegWrite("HKCR\" & $sExtRead, "olddesc", $g_REGTYPE_REG_SZ, $sCurrentDescription)
        EndIf
        
        If $sCurrentDescription = "" And $sDescription <> "" Then RegWrite("HKCR\" & $sExtRead, "", $g_REGTYPE_REG_SZ, $sDescription)
    EndIf
    
    Local $sCurrentVerb = RegRead("HKCR\" & $sExtRead & "\shell", "")
    Local $iError = @error
    
    If $fDefault Then
        RegWrite("HKCR\" & $sExtRead & "\shell\Open\Command", "", $g_REGTYPE_REG_EXPAND_SZ, $sCommand)
        
        If $iError Then
            RegWrite("HKCR\" & $sExtRead & "\shell", "", $g_REGTYPE_REG_SZ, $sVerb)
        Else
            RegWrite("HKCR\" & $sExtRead & "\shell", "", $g_REGTYPE_REG_SZ, $sVerb)
            RegWrite("HKCR\" & $sExtRead & "\shell", "oldverb", $g_REGTYPE_REG_SZ, $sCurrentVerb)
        EndIf
    EndIf
    
    Local $sCurrentCommand = RegRead("HKCR\" & $sExtRead & "\shell\" & $sVerb & "\command", "")
    
    If Not @error Then
        RegRead("HKCR\" & $sExtRead & "\shell\" & $sVerb & "\command", "oldcmd")
        If @error Then RegWrite("HKCR\" & $sExtRead & "\shell\" & $sVerb & "\command", "oldcmd", $g_REGTYPE_REG_SZ, $sCurrentCommand)
    EndIf
    
    RegWrite("HKCR\" & $sExtRead & "\shell\" & $sVerb & "\command", "", $g_REGTYPE_REG_SZ, $sCommand)
    
    If $sIcon <> "" Then
        Local $sCurrentIcon = RegRead("HKCR\" & $sExtRead & "\DefaultIcon", "")
        
        If @error Then
            RegWrite("HKCR\" & $sExtRead & "\DefaultIcon", "", $g_REGTYPE_REG_SZ, $sIcon)
        Else
            RegWrite("HKCR\" & $sExtRead & "\DefaultIcon", "", $g_REGTYPE_REG_SZ, $sIcon)
            RegWrite("HKCR\" & $sExtRead & "\DefaultIcon", "oldicon", $g_REGTYPE_REG_SZ, $sCurrentIcon)
        EndIf
    EndIf
    
    Return 1
EndFunc
 
Верх