A55555
|
Posted: Sun Sep 07, 2025 00:18 Post subject: |
|
|
Orion9 wrote: | Работает, но отчасти. Наверное, для полноты картины нужно AUTORUN_TCHANDLE снять с владельца. Кстати, вот действительно полный код для тех, кто будет пользоваться или развивать его дальше, в предыдущий раз я как всегда забыл про "шапку": |
Огромное спасибо, работает, теперь ещё и красиво
Но есть непреодолимое препятствие, чтоб оно сработало самостоятельно.
После счетчика до 100 секунд выскакивает Windows окошко
"Выключение ПК" и пока не нажать OK, дальше дело не идет.
Я закомментировал эту строку
Code: | MsgBox("Выключение ПК", "", 64) |
для практического использования она скорее и не нужна. Без этой строки всё нормально.
Подскажите пожалуйста ещё, как окно счетчика чучуть подвинуть вправо и вверх от центра экрана или лучше не трогать?
Не смог понять.
Orion9 wrote: | Как-то вчера прошел мимо этого комментария, а ведь Autorun очень легко может это сделать, даже пугающе легко. Я бы сказал, он создан для таких задач: |
Класс, спасибо за ваши программные подарки.
Надеюсь кроме меня ещё кому-то пригодится.
Orion9 wrote: | A55555, если вы поставили Autorun, посмотрите еще пример сворачивания в трей в справке, напоминает чем-то изменение прозрачности. |
Попробую найти (пока не хватило ума ) и почитать.
Loopback
я использовал из справки вот этот метод сделать TC полноэкранно через нажатие F11
 Hidden text Code: | Управление окнами
Здесь представлены примеры управления элементами главного окна или диалогов в течении сессии.
Скачать последнюю версию TCFS2Tools можно здесь.
LoadLibrary Plugins\TCFS2Tools.dll
LoadLibrary Plugins\Autorun_Tweaks.dll
LoadLibrary Plugins\Autorun_Runtime.dll
LoadLibrary Plugins\Autorun_Sysinfo.dll
# Автор — Flasher
# F11 — переключение в зависимости от наличия заголовков панелей
# между полноэкранным режимом (только вкладки) и исходным
# В каталоге плагина будет сохранён Layout.ini с соответствующей секцией
# основного файла для восстановления отображения необходимых компонентов
# при повторных нажатиях горячей клавиши, если таковые оказались скрыты.
# При указании параметра 0 размер окна меняться не будет.
SetHotKeyAction /H:F11 ToggleFullScreen
WinGetPos('cX', 'cY', 'cW', 'cH')
If Not FileExist(AUTORUN_PATH & '\Layout.ini') Then
ShellExec /SW_HIDE /WAIT %ComSpec% '/q/c echo [Layout]>%AUTORUN_PATH%\Layout.ini'
Local sLayout = IniReadSection('~/R', COMMANDER_INI, 'Layout')
If StrPos(sLayout, '=') Then _
IniWriteSection(AUTORUN_PATH & '\Layout.ini', 'Layout', sLayout)
Else
Local sLayout = IniReadSection(AUTORUN_PATH & '\Layout.ini', 'Layout')
If StrPos(sLayout, '=') Then _
IniWriteSection('~/R', COMMANDER_INI, 'Layout', sLayout)
EndIf
Func ToggleFullScreen(WinChange=1)
IniRead HasCurDir %COMMANDER_INI% 'Layout' 'CurDir'
If HasCurDir Then SendMessage(AUTORUN_TCHANDLE, 11, 0)
If WinChange Then
Static wAreaX1 = SystemParametersInfo(48, 1), _
wAreaY1 = SystemParametersInfo(48, 2), _
wAreaX2 = SystemParametersInfo(48, 3), _
wAreaY2 = SystemParametersInfo(48, 4)
If HasCurDir Then
Static wX = wAreaX1 ? wAreaX1 + 1 : 0, _
wY = wAreaY1 ? wAreaY1 + 1 : 0, _
wW = wAreaX2 = SYSINFO_DESKTOPWIDTH ? wAreaX2 - wAreaX1 - 1 : wAreaX2 - wAreaX1, _
wH = wAreaY2 = SYSINFO_DESKTOPHEIGHT ? wAreaY2 - wAreaY1 - 1 : wAreaY2 - wAreaY1
If WinGetState(6) Then WinSetState(9)
WinSetPos(wX, wY, wW, wH)
Else
If WinGetState(6) Then WinSetState(9)
If cX <> '' Then WinSetPos(cX, cY, cW, cH)
EndIf
EndIf
If HasCurDir Then
HasMainHeader = WinHasStyle(12582912)
PostMessage(AUTORUN_TCHANDLE, 1075, 65538)
IniRead HasTabHeader %COMMANDER_INI% 'Layout' 'TabHeader'
IniRead HasStatusBar %COMMANDER_INI% 'Layout' 'StatusBar'
IniRead HasDriveList %COMMANDER_INI% 'Layout' 'DriveCombo'
IniRead HasKeyButtons %COMMANDER_INI% 'Layout' 'KeyButtons'
IniRead HasCmdLine %COMMANDER_INI% 'Layout' 'CmdLine'
IniRead HasDriveBar %COMMANDER_INI% 'Layout' 'DriveBar1'
IniRead HasButtonBar %COMMANDER_INI% 'Layout' 'ButtonBar'
IniRead HasButtonBar2 %COMMANDER_INI% 'Layout' 'ButtonBarVertical'
SendCommand 2902 2
SendCommand 2906 2
SendCommand 2907 2
SendCommand 2908 2
SendCommand 2909 2
SendCommand 2910 2
SendCommand 2911 2
SendCommand 2944 2
SendCommand 2901 2
WinSetStyle 12582912 4
Else
PostMessage(AUTORUN_TCHANDLE, 1075, 65537)
If HasButtonBar Then SendCommand 2901 1
If HasDriveBar Then SendCommand 2902 1
If HasDriveList Then SendCommand 2906 1
SendCommand 2907 1
If HasTabHeader Then SendCommand 2908 1
If HasStatusBar Then SendCommand 2909 1
If HasCmdLine Then SendCommand 2910 1
If HasKeyButtons Then SendCommand 2911 1
If HasButtonBar2 Then SendCommand 2944 1
If HasMainHeader Then WinSetStyle 12582912 2
EndIf
SendCommand 2918
If HasCurDir Then SendMessage(AUTORUN_TCHANDLE, 11, 1)
WinRedRaw 2
EndFunc
Pragma AutorunFinalizeSection
If FileExist(AUTORUN_PATH & '\Layout.ini') Then
sLayout = IniReadSection(AUTORUN_PATH & '\Layout.ini', 'Layout')
If StrPos(sLayout, '=') Then
IniWriteSection('~/R', COMMANDER_INI, 'Layout', sLayout)
Sleep(20)
EndIf
EndIf |
по F11 входит в полноэкранный режим, но когда обратно хочу в обычный, после нажатия F11 выскакивает ошибка
 Hidden text
успевает появиться обратно только панель меню, Файлы_Выделение_Навигация_и_т.д.
Можно ли сделать, чтоб оно сразу выполняло вход в полноэкранный режим при старте TC? |
|