Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Обмен кнопками
Goto page Previous  1, 2, 3 ... 10, 11, 12 ... 43, 44, 45  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Секреты и советы printer-friendly view
View previous topic :: View next topic  
Author Message
gora



Joined: 30 Dec 2004
Posts: 442
Location: Иваново

Post (Separately) Posted: Thu Nov 16, 2006 09:22    Post subject: Кнопка для создания SFX-архива Reply with quote

Подскажите как создать кнопку для создания SFX-архива (7zip)?
Исходные данные:
1 В папке, открытой на одной из панелей TC, находятся файлы: конфигурации (например, config.txt), 7z-архив (например, archive.7z) и SFX-модуль (например, 7zSD.sfx).
2 Выделяем два файла config.txt и archive.7z на панели и нажимает кнопку (которая и нужна), а лучше перетаскиваем на нее эти файлы (если это не слишком усложнит задачу).
3 Выполняется "преобразование" известной командой - "copy /b 7zSD.sfx + config.txt + archive.7z archive.exe" и создается SFX-архив archive.exe в этой же папке.
4 Файлы конфигурации и 7z-архива всегда разные (выделяются пользователем).
5 Имя SFX-архива всегда формируется из имени 7z архива заменой расширения с .7z на .exe, и, если такой файл в этой папке уже существует, то новый переписывает старый.
6 Файл SFX-модуля может не лежать в этой же папке, но имеет постоянное место на диске и путь к нему можно прописать руками.
Буду рад любой помощи т.к. сам в "скриптописательстве" ноль.
Back to top
View user's profile Send private message
Maximus



Joined: 07 Apr 2005
Posts: 927
Location: Украина, Кировоградская обл., г. Знаменка

Post (Separately) Posted: Thu Nov 16, 2006 11:05    Post subject: Reply with quote

А кто может придумать кнопку для перехода в ждущий режим?
shutdown такого не умет...
_________________
tcPhonebook|AppLoader|Українізація TC|Ultimate Calendar
Back to top
View user's profile Send private message
DeathStalker



Joined: 01 Sep 2006
Posts: 331
Location: Санкт-Петербург

Post (Separately) Posted: Thu Nov 16, 2006 11:30    Post subject: Reply with quote

Maximus
LocKtaR-o-DarK wrote:

Code:
TOTALCMD#BAR#DATA
rundll32 powrprof.dll,SetSuspendState

shell32.dll,211
Спящий режим

Back to top
View user's profile Send private message
Billy_Bons



Joined: 03 Mar 2006
Posts: 5

Post (Separately) Posted: Thu Nov 16, 2006 23:51    Post subject: Reply with quote

Кнопки для выключения, перезагрузки компьютера и выхода из системы с диалогом подтверждения действия (используется утилита NirCmd 1.85):

Code:
TOTALCMD#BAR#DATA
nircmd qboxcom "Выключить компьютер?" "Завершение работы" exitwin poweroff

shell32.dll,215
Выключить компьютер
%COMMANDER_PATH%\tools\nircmd\

-1


Code:
TOTALCMD#BAR#DATA
nircmd qboxcom "Перезагрузить компьютер?" "Завершение работы" exitwin reboot

shell32.dll,217
Перезагрузить компьютер
%COMMANDER_PATH%\tools\nircmd\

-1


Code:
TOTALCMD#BAR#DATA
nircmd qboxcom "Выйти из системы?" "Завершение работы" exitwin  logoff

shell32.dll,211
Выход из системы
%COMMANDER_PATH%\tools\nircmd\

-1


Вместо %COMMANDER_PATH%\tools\nircmd\ необходимо, разумеется, указать свой путь до nircmd.exe
Back to top
View user's profile Send private message
Maximus



Joined: 07 Apr 2005
Posts: 927
Location: Украина, Кировоградская обл., г. Знаменка

Post (Separately) Posted: Fri Nov 17, 2006 10:56    Post subject: Reply with quote

Quote:
Спящий режим

Просмотрел.
Кстати, спящий от ждущего отличается!
_________________
tcPhonebook|AppLoader|Українізація TC|Ultimate Calendar
Back to top
View user's profile Send private message
DeathStalker



Joined: 01 Sep 2006
Posts: 331
Location: Санкт-Петербург

Post (Separately) Posted: Fri Nov 17, 2006 12:25    Post subject: Reply with quote

Maximus
Команда одна и таже для обоих режимов.
НО чтобы компьютер погружался в ждущий режим надо снять галочку Разрешить использование спящего режима (Панель управления->Электропитание->Спящий режим)
Back to top
View user's profile Send private message
LocKtaR-o-DarK



Joined: 12 Aug 2005
Posts: 349
Location: Москва

Post (Separately) Posted: Sat Nov 18, 2006 02:45    Post subject: Reply with quote

Компиляция скрипта INNO

гуем
Code:
TOTALCMD#BAR#DATA
"путь\до\Inno Setup\Compil32"
/cc %N
путь\до\Inno Setup\ISCmplr.dll
Компиляция скрипта INNO

комстрокой
Code:
TOTALCMD#BAR#DATA
"путь\до\Inno Setup\ISCC"
%N
путь\до\Inno Setup\ISCmplr.dll
Компиляция скрипта INNO

1
-1

_________________
        
Back to top
View user's profile Send private message
DeathStalker



Joined: 01 Sep 2006
Posts: 331
Location: Санкт-Петербург

Post (Separately) Posted: Sat Nov 18, 2006 14:28    Post subject: Reply with quote

Maximus
Поизучал вчера мат. часть и придумал как можно компьютер погружать в спящий и ждущий режимы. Надо создать для спящего режима батник с таким содержимым:
Code:
powercfg /h on
rundll32 powrprof.dll,SetSuspendState

А для ждущего с таким:
Code:
powercfg /h off
rundll32 powrprof.dll,SetSuspendState
Back to top
View user's profile Send private message
Zorroz



Joined: 16 Dec 2004
Posts: 308
Location: Россия, Иркутская обл., г. Ангарск

Post (Separately) Posted: Tue Nov 21, 2006 15:31    Post subject: Reply with quote

Кнопку для сжатия базы данных эскизов. Все три опции в настройках включены.
_________________
Когда ангелу обрезают крылья, он учится летать на метле...
Back to top
View user's profile Send private message
DeathStalker



Joined: 01 Sep 2006
Posts: 331
Location: Санкт-Петербург

Post (Separately) Posted: Wed Nov 22, 2006 10:31    Post subject: Reply with quote

Zorroz
Могу предложить скрипт (Script Helper), у него есть минус он работает с интерфейсом ТС, принцип действия - открывает диалог Настройка:эскизы и нажимает кнопку Запуск. Скрипт писался под TC7pb1, работоспособность для других версий ТС не проверял.
Code:
Dim TCS, T, i, j
Set TCS = CreateObject("TCSCRIPT.Helper")
TCS.SendCommand "cm_ThumbnailsConfig"
TCS.LockTC True
TCS.SendKeystroke "{TAB 22}"
TCS.SendKeystroke "{ENTER}"
TCS.SendKeystroke "{ENTER}"
TCS.SendKeystroke "{ENTER}"
TCS.LockTC False
Set TCS = Nothing
WScript.Quit

_________________
Гугль - это Матрица, чем меньше его спрашивать, тем слабее будут машины во время Великой Битвы
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64)
Back to top
View user's profile Send private message
Zorroz



Joined: 16 Dec 2004
Posts: 308
Location: Россия, Иркутская обл., г. Ангарск

Post (Separately) Posted: Wed Nov 22, 2006 12:34    Post subject: Reply with quote

DeathStalker
Никогда такого глюка еще не видел! Скрипт не хочет работать, появляется окно настроек и начинает дико мегать, потом ТС вылетает.
Если попробовать запустить еще раз, то открывается 2 копии system.ini в блокноте.
_________________
Когда ангелу обрезают крылья, он учится летать на метле...
Back to top
View user's profile Send private message
DeathStalker



Joined: 01 Sep 2006
Posts: 331
Location: Санкт-Петербург

Post (Separately) Posted: Wed Nov 22, 2006 12:54    Post subject: Reply with quote

Попробуй этот вариант, TCS.Pause=1000 - время задержки в миллисекундах
Code:
Dim TCS, T, i, j
Set TCS = CreateObject("TCSCRIPT.Helper")
TCS.SendCommand "cm_ThumbnailsConfig"
TCS.LockTC True
TCS.Pause=1000
TCS.SendKeystroke "{TAB 22}"
TCS.Pause=1000
TCS.SendKeystroke "{ENTER}"
TCS.Pause=1000
TCS.SendKeystroke "{ENTER}"
TCS.Pause=1000
TCS.SendKeystroke "{ENTER}"
TCS.LockTC False
Set TCS = Nothing
WScript.Quit

_________________
Гугль - это Матрица, чем меньше его спрашивать, тем слабее будут машины во время Великой Битвы
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64)
Back to top
View user's profile Send private message
Zorroz



Joined: 16 Dec 2004
Posts: 308
Location: Россия, Иркутская обл., г. Ангарск

Post (Separately) Posted: Wed Nov 22, 2006 15:03    Post subject: Reply with quote

DeathStalker
По первому скрипту. Что то пытается сделать, но потом говорит что не удалось открыть tcthumbs.frl и предлагает с помощью чего открыть его.
Второй скрипт выдает тоже самое.
Но самое странное вот что. Если удалить какие-нибудь рисунки(база эскизов изменилась) то появляются ошибки. Если ничего не удалять, то вроде скрипт выполняется. Sad
_________________
Когда ангелу обрезают крылья, он учится летать на метле...
Back to top
View user's profile Send private message
DeathStalker



Joined: 01 Sep 2006
Posts: 331
Location: Санкт-Петербург

Post (Separately) Posted: Thu Nov 23, 2006 17:54    Post subject: Reply with quote

Zorroz
В данном скрипте устанавливаюся три опции:
1 Удалить эскизы для отсутствующих файлов
2 Удалить эскизы для извлечённых CD-дисков
3 Удалить эскизы для недоступных дисков (напр., сетевых или USB)
и запускается сжатие базы эскизов.
Код для кнопки
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Scripts\Thumb.vbs 100

WScript.exe,3
Сжатие базы эскизов
%COMMANDER_PATH%\Scripts\

-1

Код скрипта
Code:
Dim TCS, T, i
Set TCS = CreateObject("TCSCRIPT.Helper")
if WScript.Arguments.Count > 0 then
   T = WScript.Arguments(0) 'T задержка равна аргументу заданному в качастве параметра
else
   WScript.Quit 'Выход если параметр (задержка) не задана
end if
TCS.SendCommand "cm_ThumbnailsConfig" ' Открытие диалога настроек эскизов
For i=1 to 19  ' Цикл с 19 итерациями
   TCS.Pause= T ' Задержка
   TCS.SendKeystroke "{TAB}" ' Передает активному окну TC нажатие клавиши Tab, как если бы она были нажаты на клавиатуре.
Next
For i=1 to 3 ' Цикл с 3 итерациями
   TCS.Pause= T ' Задержка
   TCS.SendKeystroke "{ }"  ' Передает активному окну TC нажатие клавиши Пробел, как если бы она были нажаты на клавиатуре.
   TCS.SendKeystroke "{TAB}" ' Передает активному окну TC нажатие клавиши Tab, как если бы она были нажаты на клавиатуре.
Next
For i=1 to 3 ' Цикл с 3 итерациями
  TCS.Pause= T ' Задержка
  TCS.SendKeystroke "{ENTER}" ' Передает активному окну TC нажатие клавиши Enter, как если бы она были нажаты на клавиатуре.
Next
Set TCS = Nothing
WScript.Quit

Добавил комментариев чтобы было понятно как скрипт работает. Задав задержку (в коде кнопки цифра после имени скрипта, указывается в миллисекундах) больше можно посмотреть порядок выполнения действий Тотал Коммандером. Скрипт написан для TC7pb1.
Zorroz если возникнут и с ним проблемы, то пиши в личные сообщения.
_________________
Гугль - это Матрица, чем меньше его спрашивать, тем слабее будут машины во время Великой Битвы
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64)
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Fri Nov 24, 2006 01:29    Post subject: Reply with quote

2 DeathStalker
Не нужно повторять код TCS.Pause= T, тем более в цикле. Это же не метод, а свойство. Менять его значение нужно только в случае переопределения задержки выполнения команд (задержка уже реализована внутри хелпера). Короче, достаточно одного вызова вначале скрипта, там где уже задано T.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Секреты и советы All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 10, 11, 12 ... 43, 44, 45  Next
Page 11 of 45

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group