Что нового

Вопросы при начале работы с AutoIT

amx221

Новичок
Сообщения
1
Репутация
0
Установил программу, но не могу создать файл .au3 нажатием правой кнопки мыши по раб.столу. И вообще, если правой кнопкой мыши нажать на файл .au3 то нет никаких вариантов с использованием AutoIT (нету функции Edit Script, Compile Script и т.п.), почему? И второй вопрос, правильно ли я понимаю, что мой скрипт запущен и находится в рабочем состоянии когда внизу справа (возле даты и времени) есть значок AutoIT? Просто при запуске скрипта больше ничего не происходит, только появляется маленький значок в панели.
 

Вложения

  • 01.png
    01.png
    19.8 КБ · Просмотры: 14
  • 02.png
    02.png
    3.4 КБ · Просмотры: 13
Последнее редактирование:

xXx

╚{■_■}╗
Меценат
Сообщения
248
Репутация
95
... нет никаких вариантов с использованием AutoIT (нету функции Edit Script, Compile Script и т.п.), почему?..
Если вы переустанавливали Autoit, то выполните:
Код:
RegDelete('HKCR\.a3x')
RegDelete('HKCR\.au3')
RegDelete('HKCR\AutoIt3XScript')
RegDelete('HKCR\AutoIt3Script')
RegDelete('HKCR\.session')
RegDelete('HKCR\SciTESession')
... и повторите установку заново.
Эта проблема уже обсуждалась на форуме, я тоже с ней сталкивался и по этому сделал следующее:
- штатный файл "Uninstall.exe" в папке установки Autoit переименовал в "Uninstall[Default].exe"
- скомпилировал свой "Uninstall.exe":
Код:
#pragma compile(FileVersion, 1.0.0.0)
#pragma compile(ProductVersion, 1.0.0.0)
#pragma compile(LegalCopyright, xXx)
#pragma compile(Comments, AutoIt Version: 3.3.x.x)

#RequireAdmin

RunWait(@ScriptDir & '\Uninstall[Default].exe')

$iPID = ProcessWait('Au_.exe', 10)
If Not $iPID Then Exit
ProcessWaitClose($iPID)

If Not @extended Then ; Программа была удалена
    RegDelete('HKCR\.a3x')
    RegDelete('HKCR\.au3')
    RegDelete('HKCR\AutoIt3XScript')
    RegDelete('HKCR\AutoIt3Script')
    RegDelete('HKCR\.session')
    RegDelete('HKCR\SciTESession')
    FileChangeDir(@TempDir)
    Run(@ComSpec & ' /c timeout /t 2&&RD /S /Q "' & @ScriptDir & '"', '', @SW_HIDE)
EndIf
... и закинул его в папку Autoit. Теперь при удалении ПО эти ветки реестра тоже будут удалены.
Сообщение автоматически объединено:

.. если правой кнопкой мыши нажать на файл .au3 то нет никаких вариантов...
А мне все равно те варианты не нравились, поэтому сделал свои:
Безымянный.png
Код:
#pragma compile(FileVersion, 1.0.0.0)
#pragma compile(ProductVersion, 1.0.0.0)
#pragma compile(LegalCopyright, xXx)
#pragma compile(Comments, AutoIt Version: 3.3.x.x)

#RequireAdmin

$sAutoItDir = RegRead('HKLM\SOFTWARE' & (@AutoItX64 ? '\WOW6432Node' : '') & '\AutoIt v3\AutoIt', 'InstallDir')
If @error Then Exit

Switch MsgBox(262144 + 3 + 32, Default, 'ХОТИТЕ ЗАМЕНИТЬ ПУНКТЫ КОНТЕКСТНОГО МЕНЮ ПРОВОДНИКА ДЛЯ ".au3" и ".a3x" ФАЙЛОВ?')
    Case 2 ; Отмена
        Exit
    Case 6 ; Да
        RegDelete('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell', '', 'REG_SZ', 'Open')

        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\2_RunX86', '', 'REG_SZ', 'Run Script (x86)')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\2_RunX86', 'Icon', 'REG_SZ', '"' & $sAutoItDir & '\AutoIt3.exe"')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\2_RunX86\Command', '', 'REG_SZ', '"' & $sAutoItDir & '\AutoIt3.exe" "%1" %*')

        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\3_RunX64', '', 'REG_SZ', 'Run Script (x64)')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\3_RunX64', 'Icon', 'REG_SZ', '"' & $sAutoItDir & '\AutoIt3_x64.exe"')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\3_RunX64\Command', '', 'REG_SZ', '"' & $sAutoItDir & '\AutoIt3_x64.exe" "%1" %*')

        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\4_CompileX86', '', 'REG_SZ', 'Compile Script (x86)')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\4_CompileX86', 'Icon', 'REG_SZ', '"' & $sAutoItDir & '\Aut2Exe\Aut2Exe.exe"')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\4_CompileX86\Command', '', 'REG_SZ', '"' & $sAutoItDir & '\Aut2Exe\Aut2Exe.exe" /in "%l"')

        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\5_CompileX64', '', 'REG_SZ', 'Compile Script (x64)')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\5_CompileX64', 'Icon', 'REG_SZ', '"' & $sAutoItDir & '\Aut2Exe\Aut2Exe_x64.exe"')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\5_CompileX64\Command', '', 'REG_SZ', '"' & $sAutoItDir & '\Aut2Exe\Aut2Exe_x64.exe" /in "%l"')

        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\Compile Options', 'Icon', 'REG_SZ', '"' & $sAutoItDir & '\Aut2Exe\Aut2Exe.exe"')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\Compile Options\Command', '', 'REG_SZ', '"' & $sAutoItDir & '\Aut2Exe\Aut2Exe.exe"')

        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\Open', '', 'REG_SZ', 'Open')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\Open', 'Icon', 'REG_SZ', '"' & $sAutoItDir & '\SciTE\SciTE.exe"')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\Open\Command', '', 'REG_SZ', '"' & $sAutoItDir & '\SciTE\SciTE.exe" "%l"')

        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3Script\Shell\_Разделитель_', 'CommandFlags', 'REG_DWORD', 0x00000028)

        RegDelete('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell', '', 'REG_SZ', '2_RunX86')

        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell\2_RunX86', '', 'REG_SZ', 'Run file (x86)')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell\2_RunX86', 'Icon', 'REG_SZ', '"' & $sAutoItDir & '\AutoIt3.exe"')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell\2_RunX86\Command', '', 'REG_SZ', '"' & $sAutoItDir & '\AutoIt3.exe" "%1" %*')

        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell\3_RunX64', '', 'REG_SZ', 'Run file (x64)')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell\3_RunX64', 'Icon', 'REG_SZ', '"' & $sAutoItDir & '\AutoIt3_x64.exe"')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell\3_RunX64\Command', '', 'REG_SZ', '"' & $sAutoItDir & '\AutoIt3_x64.exe" "%1" %*')

        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell\4_CompileX86', '', 'REG_SZ', 'Compile file (x86)')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell\4_CompileX86', 'Icon', 'REG_SZ', '"' & $sAutoItDir & '\Aut2Exe\Aut2Exe.exe"')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell\4_CompileX86\Command', '', 'REG_SZ', '"' & $sAutoItDir & '\Aut2Exe\Aut2Exe.exe" /in "%l"')

        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell\5_CompileX64', '', 'REG_SZ', 'Compile file (x64)')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell\5_CompileX64', 'Icon', 'REG_SZ', '"' & $sAutoItDir & '\Aut2Exe\Aut2Exe_x64.exe"')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell\5_CompileX64\Command', '', 'REG_SZ', '"' & $sAutoItDir & '\Aut2Exe\Aut2Exe_x64.exe" /in "%l"')

        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell\Compile Options', 'Icon', 'REG_SZ', '"' & $sAutoItDir & '\Aut2Exe\Aut2Exe.exe"')
        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell\Compile Options\Command', '', 'REG_SZ', '"' & $sAutoItDir & '\Aut2Exe\Aut2Exe.exe"')

        RegWrite('HKLM\SOFTWARE\Classes\AutoIt3XScript\Shell\_Разделитель_', 'CommandFlags', 'REG_DWORD', 0x00000028)
;~     Case 7 ; Нет
EndSwitch

If MsgBox(262144 + 4 + 32, Default, 'ХОТИТЕ СТАЛЬ ВЛАДЕЛЬЦЕМ ПАПКИ' & @LF & '"' & $sAutoItDir & '"' & @LF & 'И ВСЕХ ЕЁ ВЛОЖЕННЫХ ФАЙЛОВ?') = 6 Then
    Run(@ComSpec & ' /c takeown /f "' & $sAutoItDir & '" /R /D Y&&echo Y|cacls "' & $sAutoItDir & '" /T /E /G %USERNAME%:F')
EndIf
Сообщение автоматически объединено:

... правильно ли я понимаю, что мой скрипт запущен и находится в рабочем состоянии когда внизу справа (возле даты и времени) есть значок AutoIT?..
Правильно понимаете.
Но Windows бывают и баги.
 
Последнее редактирование:
Верх