Single Post |
Topic: Autorun |
Author |
Message |
Orion9

|
Posted: Sat Oct 04, 2025 13:35 Post subject: |
|
|
A55555
Я вчера неправильно написал про комбинации клавиш, но, возможно, вы разобрались, если было время попробовать.
Quote: | Теперь можно будет перед началом операции включить отладку (Alt+0), и когда зависнет Alt+Win+0. |
Все как раз наоборот. Alt+Win+0 включает режим отладки, Alt+0 выводит информацию на экран и копирует ее в буфер. Эти комбинации пришлось жестко прописать в модуль, потому что использование обычных em_команд не подходит для этих целей. Окно прогресса перехватывает фокус и em_команды не срабатывают, пока главное окно ТС не активно. Активировать его можно вручную, но это очень неудобно, поэтому нет смысла использовать интерфейс ТС для назначения горячих клавиш, как это делалось с предыдущими командами. Т.е. такая прописка в usercmd.ini и wincmd.ini не даст хорошего результата:
Code: | [em_torrent_data_options]
cmd=70506
[em_torrent_data_dbginfo]
cmd=70507 |
Code: | [Shortcuts]
A+0=em_torrent_data_dbginfo
[ShortcutsWin]
A+0=em_torrent_data_options |
Но саму кнопку с последней функцией можно так назначить, и она будет работать. Например Alt+N:
Code: | [em_torrent_data_name_size]
cmd=70504 |
Code: | [Shortcuts]
A+N=em_torrent_data_name_size
CA+N=em_torrent_data_name_size
SA+N=em_torrent_data_name_size |
Модификаторы Ctrl и Shift тоже будут работать.
Вчера не было времени об этом написать, но сейчас отвечу.
A55555 wrote: | В любом случае, даже вот так как сейчас, это просто супер. Спасибо. |
Ну тут и Loopback надо говорить огромное спасибо. Супер результат мог только случиться на супер плагинах TCTorrent и Autorun. Второй - это вообще нечто. Это движок без которого мы бы никуда не уехали. И если 10 лет назад на коротких штанцах можно было делать такое:
 Сборка TechAdmin Code: | # Enables Process functionality
LoadLibrary Plugins\Autorun_Process.dll
LoadLibrary Plugins\Autorun_Sysinfo.dll
RegWrite "HKLM\SOFTWARE\TechAdmin" "Admin" "REG_DWORD" "1"
IniWrite /EV "%COMMANDER_PATH%\Admin.ini" "TechAdmin" "WriteTest" "1"
# Adding current TC path to PATH environment variable
# Добавляет к переменной окружения PATH текущую папку TC
SetEnv /A /EV PATH ;%COMMANDER_PATH%
SetEnv /EV COMMANDER_HANDLE %AUTORUN_TCHANDLE%
SetEnv /EV COMMANDER_PID %AUTORUN_TCPID%
# Установка архитектуры TC
SetEnv /EV COMMANDER_ARCH %AUTORUN_TCARCH%
# Проверка языка системы
StrUpper OSLANG %SYSINFO_USERLANG%
If %OSLANG% = ENU Then
SetEnv /EV COMMANDER_OSLANG Eng
Else
SetEnv /EV COMMANDER_OSLANG %OSLANG%
EndIf
# Проверка версии ОС
If %SYSINFO_OSVERSION% = WIN_XP Then
SetEnv COMMANDER_OSVER "XP"
ElseIf %SYSINFO_OSVERSION% = WIN_2003 Then
SetEnv COMMANDER_OSVER "2003"
ElseIf %SYSINFO_OSVERSION% = WIN_VISTA Then
SetEnv COMMANDER_OSVER "Vista"
ElseIf %SYSINFO_OSVERSION% = WIN_2008 Then
SetEnv COMMANDER_OSVER "2008"
ElseIf %SYSINFO_OSVERSION% = WIN_2008R2 Then
SetEnv COMMANDER_OSVER "2008R2"
ElseIf %SYSINFO_OSVERSION% = WIN_7 Then
SetEnv COMMANDER_OSVER "7"
ElseIf %SYSINFO_OSVERSION% = WIN_8 Then
SetEnv COMMANDER_OSVER "8"
ElseIf %SYSINFO_OSVERSION% = WIN_2012 Then
SetEnv COMMANDER_OSVER "2012"
Else
SetEnv COMMANDER_OSVER "Unknown"
EndIf
# Определение работы из PE
If %SYSTEMDRIVE% = X: Then
SetEnv COMMANDER_OSVER "PE"
EndIf
# Проверка архитектуры ОС
If %SYSINFO_OSARCH% = 64 Then
SetEnv COMMANDER_OSARCH x64
ElseIf %SYSINFO_OSARCH% = 32 Then
SetEnv COMMANDER_OSARCH x86
EndIf
# Проверка языкового файла TC
IniRead "Commander_LangIni" "%COMMANDER_INI%" "Configuration" "LanguageIni" ""
IniRead "Commander_LangAutoSwitch" "%COMMANDER_INI%" "Admin" "LanguageAutoSwitch" "0"
If (%COMMANDER_LANGINI% = wcmd_rus.lng) Then
SetEnv COMMANDER_LANG "Rus"
ElseIf (%COMMANDER_LANGINI% = wcmd_rus_PE.lng) Then
SetEnv COMMANDER_LANG "Rus"
SetEnv COMMANDER_OSVER "PE"
ElseIf (%COMMANDER_LANGINI% = wcmd_eng.lng) Then
SetEnv COMMANDER_LANG "Eng"
ElseIf (%COMMANDER_LANGINI% = wcmd_eng_PE.lng) Then
SetEnv COMMANDER_LANG "Eng"
SetEnv COMMANDER_OSVER "PE"
Else
SetEnv COMMANDER_LANG "Default"
EndIf
If (%COMMANDER_OSVER% = PE) AND (%COMMANDER_OSLANG% = RUS) AND (%COMMANDER_LANGINI% <> wcmd_rus_PE.lng) Then
SetEnv COMMANDER_LANG "Rus"
IniWrite /EV "%COMMANDER_INI%" "Configuration" "LanguageIni" "wcmd_rus_PE.lng"
IniWrite /EV "%COMMANDER_INI%" "Configuration" "Mainmenu" "wcmd_rus_PE.mnu"
SendCommand cm_LanguageConfig
ElseIf (%COMMANDER_OSVER% = PE) AND (%COMMANDER_OSLANG% = ENG) AND (%COMMANDER_LANGINI% <> wcmd_eng_PE.lng) Then
SetEnv COMMANDER_LANG "Rus"
IniWrite /EV "%COMMANDER_INI%" "Configuration" "LanguageIni" "wcmd_eng_PE.lng"
IniWrite /EV "%COMMANDER_INI%" "Configuration" "Mainmenu" "wcmd_eng_PE.mnu"
SendCommand cm_LanguageConfig
ElseIf (%COMMANDER_LANGAUTOSWITCH% <> 0) AND (%COMMANDER_OSLANG% = RUS) AND (%COMMANDER_LANG% <> Rus) Then
SetEnv COMMANDER_LANG "Rus"
IniWrite /EV "%COMMANDER_INI%" "Configuration" "LanguageIni" "wcmd_rus.lng"
IniWrite /EV "%COMMANDER_INI%" "Configuration" "Mainmenu" "wcmd_rus.mnu"
SendCommand cm_LanguageConfig
ElseIf (%COMMANDER_LANGAUTOSWITCH% <> 0) AND (%COMMANDER_OSLANG% <> %COMMANDER_LANG%) AND (%COMMANDER_OSLANG% <> RUS) Then
SetEnv COMMANDER_LANG "Eng"
IniWrite /EV "%COMMANDER_INI%" "Configuration" "LanguageIni" "wcmd_eng.lng"
IniWrite /EV "%COMMANDER_INI%" "Configuration" "Mainmenu" "wcmd_eng.mnu"
SendCommand cm_LanguageConfig
EndIf
# Определение первого запуска
IniRead COMMANDER_FIRSTSTART "%COMMANDER_INI%" "Admin" "FirstStart" "1"
If (%COMMANDER_FIRSTSTART% = 1) AND (%COMMANDER_OSLANG% <> %COMMANDER_LANG%) Then
SendCommand cm_LanguageConfig
ShellExec /EV /T '%COMMANDER_PATH%\Soft\NirSoft\WakeMeOnLan.exe' '/scan /UseNetBios 0' '%COMMANDER_PATH%\Soft\NirSoft'
EndIf
# Получение SID текущего пользователя
ProcessExecGetOutput /OEM USERSID cscript.exe '//Nologo "%commander_path%\Macroses\get_usersid.vbs"' '%commander_path%'
# Установка версии TC
SetEnv /EV COMMANDER_VER "8.52 - TechAdmin RC12 %COMMANDER_LANG% %COMMANDER_ARCH% bit (28.08.2015)"
# Проверка наличия прав Администратора
RegRead COMMANDER_ISADMIN "HKLM\SOFTWARE\TechAdmin" "Admin" "REG_DWORD" "0"
If (COMMANDER_OSVER = XP) AND (%AUTORUN_ISADMIN% = 1) Then
SetEnv /EV COMMANDER_ASADMIN "Admin"
ElseIf (COMMANDER_OSVER <> XP) AND (%AUTORUN_ISADMIN% = 1) AND (%COMMANDER_ISADMIN% = 1) Then
SetEnv /EV COMMANDER_ASADMIN "Admin"
RegWrite "HKLM\SOFTWARE\TechAdmin" "Admin" "REG_DWORD" "0"
Else
SetEnv /EV COMMANDER_ASADMIN "User"
EndIf
# Проверка наличия прав записи
IniRead COMMANDER_WRITEABLE "%COMMANDER_PATH%\Admin.ini" "TechAdmin" "WriteTest" "0"
If (%COMMANDER_WRITEABLE% = 1) Then
SetEnv /EV COMMANDER_SOFT "%COMMANDER_PATH%\Soft"
IniWrite /EV "%COMMANDER_PATH%\Admin.ini" "TechAdmin" "WriteTest" "0"
Else
SetEnv /EV COMMANDER_SOFT "%TEMP%\Soft"
IniWrite /EV "%COMMANDER_PATH%\Admin.ini" "TechAdmin" "WriteTest" "0"
EndIf
# Чтение параметров настройки
IniRead AskIfTCNotAsAdmin "%COMMANDER_INI%" "Admin" "AskIfTCNotAsAdmin" "1"
IniRead OnlyUserTCMode "%COMMANDER_INI%" "Admin" "OnlyUserTCMode" "0"
IniRead ShowHiddensOnStart "%COMMANDER_INI%" "Admin" "ShowHiddensOnStart" "1"
IniRead ShowTrayHint "%COMMANDER_INI%" "Admin" "ShowTrayHint" "1"
# Всплывающая подсказка при запуске TC
If %ShowTrayHint% = 0 Then
ShellExec /EV "%COMMANDER_PATH%\Macroses\nircmd%COMMANDER_ARCH%.exe" "script ~$sys.COMMANDER_PATH$\Macroses\autoexecmin~$sys.COMMANDER_ARCH$_~$sys.COMMANDER_LANG$.cfg"
ElseIf %COMMANDER_ASADMIN% = Admin Then
ShellExec /EV "%COMMANDER_PATH%\Macroses\nircmd%COMMANDER_ARCH%.exe" "script ~$sys.COMMANDER_PATH$\Macroses\autoexecadm~$sys.COMMANDER_ARCH$_~$sys.COMMANDER_LANG$.cfg"
Else
ShellExec /EV "%COMMANDER_PATH%\Macroses\nircmd%COMMANDER_ARCH%.exe" "script ~$sys.COMMANDER_PATH$\Macroses\autoexec~$sys.COMMANDER_ARCH$_~$sys.COMMANDER_LANG$.cfg"
EndIf
# Запрос на запуск с правами Администратора
If %AskIfTCNotAsAdmin% = 0 Then
ElseIf %COMMANDER_ASADMIN% = User Then
ShellExec /EV "%COMMANDER_PATH%\Macroses\nircmd%COMMANDER_ARCH%.exe" "script ~$sys.COMMANDER_PATH$\Macroses\RunAsAdmin~$sys.COMMANDER_ARCH$_~$sys.COMMANDER_LANG$.cfg"
EndIf
# Отображение всех скрытых окон TC при запуске новой копии TC с правами админа
If %ShowHiddensOnStart% = 0 Then
ElseIf %COMMANDER_ASADMIN% = Admin Then
ShellExec /EV "%COMMANDER_PATH%\Macroses\nircmd%COMMANDER_ARCH%.exe" "win show class TTOTAL_CMD"
EndIf
If %OnlyUserTCMode% = 1 Then
ShellExec /EV "%COMMANDER_PATH%\Macroses\nircmd%COMMANDER_ARCH%.exe" "script ~$sys.COMMANDER_PATH$\Macroses\UserTCMode~$sys.COMMANDER_ARCH$_~$sys.COMMANDER_LANG$.cfg"
Set AskIfTCNotAsAdmin 0
Set ShowTrayHint 0
Set ShowHiddensOnStart 0
EndIf
# Настройки беспроводных сетей (Wi-Fi)
IniRead WLanProfile "%COMMANDER_PATH%\wincmd.ini" "WLan" "WLanProfile" ""
IniRead WLanImportProfile "%COMMANDER_PATH%\wincmd.ini" "WLan" "ImportProfileAtStart" "0"
IniRead WLanDeleteProfile "%COMMANDER_PATH%\wincmd.ini" "WLan" "DeleteProfileAtExit" "0"
If %WLanProfile% = "" Then
ElseIf %WLanImportProfile% = 1 Then
SetEnv /EV COMMANDER_WLAN "%WLanProfile%"
ShellExec /EV /SW_HIDE 'netsh.exe' 'wlan add profile filename="%commander_path%\Configs\WLan\%WLanProfile%.xml"'
Else
SetEnv /EV COMMANDER_WLAN "%WLanProfile%"
EndIf
# Функции для работы с оффлайн (отключенной) системой
IniRead OfflineSystemDir "%COMMANDER_PATH%\wincmd.ini" "OFFLINESYSTEM" "OfflineSystemDir" "C:\Windows"
If %OfflineSystemDir% = "" Then
SetEnv COMMANDER_OFFLINESYSTEM "C:\Windows"
Else
SetEnv /EV COMMANDER_OFFLINESYSTEM "%OfflineSystemDir%"
EndIf
# Автоматически сканировать сеть и получать MAC-адреса локальных компьютеров
IniRead RefreshLanMACsOnStart "%COMMANDER_PATH%\wincmd.ini" "Admin" "AutoRefreshLanMACs" "1"
If (%RefreshLanMACsOnStart% = 1) AND (%COMMANDER_FIRSTSTART% <> 1) Then
ShellExec /EV /SW_HIDE '%COMSPEC%' '/c del WakeMeOnLan.cfg /f /q' '%COMMANDER_PATH%\Soft\NirSoft'
ShellExec /EV /T '%COMMANDER_PATH%\Soft\NirSoft\WakeMeOnLan.exe' '/scan' '%COMMANDER_PATH%\Soft\NirSoft'
EndIf
# Создание переменной содержащей SID текущего пользователя
SetEnv /EV COMMANDER_USERSID "%USERSID%"
# Расшифровывать Admin.ini при запуске TC
IniRead EncryptAdminINI "%COMMANDER_PATH%\wincmd.ini" "Admin" "EncryptAdminINI" "0"
IniRead EncryptAdminINI_SID "%COMMANDER_PATH%\wincmd.ini" "Admin" "EncryptAdminINIWithSID" "0"
If %EncryptAdminINI% = 0 Then
ElseIf %EncryptAdminINI_SID% = 1 Then
ShellExec /EV /WAIT /SW_HIDE '%COMMANDER_PATH%\Macroses\ccrypt.exe' '-d -v -r -s -K "%COMMANDER_USERSID%" "%commander_path%\Admin.ini"'
Else
ShellExec /EV /WAIT /SW_HIDE '%COMMANDER_PATH%\Macroses\ccrypt.exe' '-d -v -r -s -K "%USERNAME%" "%commander_path%\Admin.ini"'
EndIf
# Проверка включения функции удаленного администрирования
IniRead RemoteAdminEnable "%COMMANDER_PATH%\Admin.ini" "RemoteAdministration" "RemoteAdminEnable" "0"
# Установка пароля и имени пользователя для удаленного администрирования
If %RemoteAdminEnable% = 1 Then
IniRead RemoteAdminName "%COMMANDER_PATH%\Admin.ini" "RemoteAdministration" "RemoteAdminName" "Администратор"
IniRead RemoteAdminPWD "%COMMANDER_PATH%\Admin.ini" "RemoteAdministration" "RemoteAdminPwd" "0"
IniRead RemoteAdminSys "%COMMANDER_PATH%\Admin.ini" "RemoteAdministration" "RemoteSystems" "%commander_path%\Admin.lst"
IniRead RemoteDomain "%COMMANDER_PATH%\Admin.ini" "RemoteAdministration" "RemoteDomain" ""
IniRead RemoteListRefreshAtStart "%COMMANDER_PATH%\Admin.ini" "RemoteAdministration" "RefreshAdminListAtStart" "0"
IniRead RemoteDefaultUseAdminList "%COMMANDER_PATH%\Admin.ini" "RemoteAdministration" "DefaultUseAdminList" "1"
SetEnv /EV COMMANDER_ADMINNAME "%RemoteAdminName%"
SetEnv /EV COMMANDER_ADMINPWD "%RemoteAdminPwd%"
SetEnv /EV COMMANDER_ADMINSYSTEMS "%RemoteAdminSys%"
EndIf
# Использовать по умолчанию список из Admin.lst
If %RemoteDefaultUseAdminList% = 1 Then
SetEnv /EV COMMANDER_ADMINSYSTEMS "%COMMANDER_PATH%\Admin.lst"
EndIf
If %RemoteListRefreshAtStart% = 1 Then
ShellExec /EV "%COMMANDER_PATH%\Macroses\nircmd%COMMANDER_ARCH%.exe" "execmd NET VIEW | FINDSTR ~q\\~q > ~q~$sys.COMMANDER_PATH$\Admin.lst~q"
EndIf
# Шаблоны переименования
IniRead RENAMETEMPLATE1 "%COMMANDER_PATH%\wincmd.ini" "RenameTemplates" "RenameTemplate1" "шаблон1"
IniRead RENAMETEMPLATE2 "%COMMANDER_PATH%\wincmd.ini" "RenameTemplates" "RenameTemplate2" "шаблон2"
IniRead RENAMETEMPLATE3 "%COMMANDER_PATH%\wincmd.ini" "RenameTemplates" "RenameTemplate3" "шаблон3"
SetEnv /EV COMMANDER_RENAMETEMPLATE1 "%RENAMETEMPLATE1%"
SetEnv /EV COMMANDER_RENAMETEMPLATE2 "%RENAMETEMPLATE2%"
SetEnv /EV COMMANDER_RENAMETEMPLATE3 "%RENAMETEMPLATE3%"
IniRead SaveTemplateSettings "%COMMANDER_INI%" "Admin" "SaveTemplateSettings" "0"
IniRead RUNASDATE "%COMMANDER_PATH%\wincmd.ini" "Admin" "RunAsDate" "01\12\1991"
SetEnv /EV COMMANDER_RUNASDATE "%RUNASDATE%"
# After this line all actions are performed when TC closing
# После этой строки все действия выполняются при закрытии TC
Pragma AutorunFinalizeSection
# Шифрование Admin.ini
If %EncryptAdminINI% = 0 Then
ElseIf %EncryptAdminINI_SID% = 1 Then
ShellExec /EV /SW_HIDE '%COMMANDER_PATH%\Macroses\ccrypt.exe' '-e -v -r -s -K "%COMMANDER_USERSID%" "%commander_path%\Admin.ini"'
Else
ShellExec /EV /SW_HIDE '%COMMANDER_PATH%\Macroses\ccrypt.exe' '-e -v -r -s -K "%USERNAME%" "%commander_path%\Admin.ini"'
EndIf
# Удаление профиля беспроводной сети
If %WLanProfile% <> "" Then
ShellExec /EV /SW_HIDE 'netsh.exe' 'wlan delete profile name="%WLanProfile%"'
EndIf
# Сохранение временных настроек
If %SaveTemplateSettings% = 1 Then
IniWrite /EV "%COMMANDER_PATH%\wincmd.ini" "RenameTemplates" "RenameTemplate1" "%COMMANDER_RENAMETEMPLATE1%"
IniWrite /EV "%COMMANDER_PATH%\wincmd.ini" "RenameTemplates" "RenameTemplate2" "%COMMANDER_RENAMETEMPLATE2%"
IniWrite /EV "%COMMANDER_PATH%\wincmd.ini" "RenameTemplates" "RenameTemplate3" "%COMMANDER_RENAMETEMPLATE3%"
IniWrite /EV "%COMMANDER_PATH%\wincmd.ini" "OFFLINESYSTEM" "OfflineSystemDir" "%COMMANDER_OFFLINESYSTEM%"
IniWrite /EV "%COMMANDER_PATH%\Admin.ini" "RemoteAdministration" "RemoteAdminName" "%COMMANDER_ADMINNAME%"
IniWrite /EV "%COMMANDER_PATH%\Admin.ini" "RemoteAdministration" "RemoteAdminPwd" "%COMMANDER_ADMINPWD%"
IniWrite /EV "%COMMANDER_PATH%\Admin.ini" "RemoteAdministration" "RemoteSystems" "%COMMANDER_ADMINSYSTEMS%"
IniWrite /EV "%COMMANDER_INI%" "WLan" "WLanProfile" "%COMMANDER_WLAN%"
EndIf
# Удаление списка MAC-адресов машин
If %RefreshLanMACsOnStart% = 1 Then
ShellExec /EV /SW_HIDE '%COMSPEC%' '/c del WakeMeOnLan.cfg /f /q' '%COMMANDER_PATH%\Soft\NirSoft'
EndIf
If %COMMANDER_FIRSTSTART% = 1 Then
IniWrite /EV "%COMMANDER_INI%" "Admin" "FirstStart" "0"
EndIf |
То сейчас о чем говорить? )
 Hidden text |
|
|
|
 |
|
Powered by phpBB © 2001, 2005 phpBB Group
|