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  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Wed Oct 11, 2006 16:14    Post subject: Reply with quote

Хотел подсоединиться заново по FTP при ошибке подключения, отправляю сообщение.
const
cm_FtpConnect=550; // Connect to FTP
SendMessage(hParent, WM_USER + 51, cm_FtpConnect, 0)
Опа! Программа останавливается до нажатия кнопки Соединить или Отмена. А я ещё и Enter хотел нажать вдогонку.. Не получается.
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
Belkin



Joined: 22 Feb 2005
Posts: 26

Post (Separately) Posted: Wed Oct 11, 2006 19:50    Post subject: Reply with quote

Моторокер wrote:
Программа останавливается до нажатия кнопки Соединить или Отмена. А я ещё и Enter хотел нажать вдогонку..

Попробуй PostMessage вместо SendMessage. Должно помочь Smile
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Mon Oct 30, 2006 09:19    Post subject: Reply with quote

Работает. Теперь в Total Commander вместо ненужного сообщения «Сервер не найден» выводится FTP диалог.
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6193
Location: Москва

Post (Separately) Posted: Sun Nov 12, 2006 19:49    Post subject: Reply with quote

На случай, если кто-то не заметил:
Quote:
15.09.06 Added: Support for accessibility tools (e.g. for blind users) to main lists+separate tree+sync+CD-Tree, allows to retrieve current line via LB_GETTEXT

Т.о., семёрка наконец-то предоставляет простой и эффективный способ получения списка файлов из своей панели! Налетай, народ. Smile
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Belkin



Joined: 22 Feb 2005
Posts: 26

Post (Separately) Posted: Mon Nov 13, 2006 09:37    Post subject: Reply with quote

Да, обнаружил в твоем переводе History. Зверски обрадовался. Very Happy Спасибо.
Back to top
View user's profile Send private message
Yams



Joined: 17 Oct 2005
Posts: 115
Location: Тверь

Post (Separately) Posted: Mon Nov 13, 2006 20:50    Post subject: Reply with quote

Quote:
Т.о., семёрка наконец-то предоставляет простой и эффективный способ получения списка файлов из своей панели! Налетай, народ. Smile

Ооо, спасибо огромное за информацию!!! Буду смотреть, изучать! Если это то, что думаю, буду просить всех пользователей тулсы моей переходить на седьмую версию!!!
_________________
In Pascal we trust
Back to top
View user's profile Send private message
iglezz



Joined: 08 Dec 2010
Posts: 48

Post (Separately) Posted: Mon Dec 20, 2010 23:31    Post subject: Reply with quote

Как через SendMessage можно передать команде cm_List имя файла?

Такой вот скрипт на AutoIt не работает — открывает файл под курсором
Code:
$hwnd = WinGetHandle("Total Commander")
If NOT @error Then
   DllCall("user32.dll", "int", "SendMessage", "hwnd", $hwnd , "int" , 1075, "int", 903 , "str", "c:\temp\test.txt" )
EndIf
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Mon Dec 20, 2010 23:42    Post subject: Reply with quote

Quote:
Как через SendMessage можно передать команде cm_List имя файла?
Насчет SendMessage не знаю, но указанная задача решается так:
Code:
%COMMANDER_PATH%\Totalcmd.exe /o /S=L имя_файла

_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Dec 20, 2010 23:46    Post subject: Reply with quote

Только 12 дней назад спрашивали.
Back to top
View user's profile Send private message
iglezz



Joined: 08 Dec 2010
Posts: 48

Post (Separately) Posted: Tue Dec 21, 2010 00:01    Post subject: Reply with quote

Эти варианты я и так знаю. Нужно именно через SendMessage/PostMessage. Гугление, увы, ничего не дало Sad
Сгодится пример на любом языке, разберусь как-нибудь.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Tue Dec 21, 2010 00:31    Post subject: Reply with quote

Попробовал. Не у тебя одного ничего не получилось Sad
Кстати, попробуй следующее:
Code:
TOTALCMD#BAR#DATA
cm_List

%COMMANDER_PATH%\TOTALCMD.EXE
cm_List


903
и посмотри на поля Parametrs и Start path получившейся кнопки. Наверное, это ж-ж неспроста.
Похоже, в такой постановке твоя задача тупо не решается.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Dec 21, 2010 00:34    Post subject: Reply with quote

iglezz
А не проще написать для каких целей такая свистопляска? Может, другое решение найдётся.
Back to top
View user's profile Send private message
iglezz



Joined: 08 Dec 2010
Posts: 48

Post (Separately) Posted: Tue Dec 21, 2010 00:35    Post subject: Reply with quote

Вахмурка
Мне из собственного скрипта надо вызвать листер, что накладывает ограничения на используемые методы. А вариант с запуском totalcmd.exe /S=L просто медленный, но пока приходится его использовать.

Flasher
Прикручиванием просмотра разных файлов занимаюсь. Для тех случаев, когда плагины либо не устраивают чем-то, либо просто отсутствуют.
Методика такова: просматриваемый файл конвертером преобразуем во что-нибудь смотрибельное листером, после чего листером его и открываем.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Dec 21, 2010 00:52    Post subject: Reply with quote

iglezz
Правильно ли я понял, что нужно на одну кнопку/команду повесить автоматический выбор при открытии любого файла под курсором либо листерного плагина, либо программы? Только не совсем ясно, при чём тут конвертер? Он тоже в этом скрипте фигурирует?
Или это надо на Alt+F3 (кн. "По типам файлов...") повесить?
Back to top
View user's profile Send private message
iglezz



Joined: 08 Dec 2010
Posts: 48

Post (Separately) Posted: Tue Dec 21, 2010 01:21    Post subject: Reply with quote

Flasher wrote:
iglezz
Правильно ли я понял, что нужно на одну кнопку/команду повесить автоматический выбор листерного плагина при открытии любого файла под курсором? А то я не совсем понимаю, что значит "преобразуем конвертером".

Не совсем так.

Есть скрипт (пока это просто батник, готовящийся превратится в autoit-скрипт). Скрипту в качестве параметра передаётся имя файла под курсором. Скрипт проверяет расширение файла и, если это требуется, производит преобразование в один из удобоваримых для листера форматов. После чего, собственно, вызывается листер.

Для наглядности сам скрипт (подчищенный от отладочных echo и т.п.):
Code:
@echo off
setlocal enabledelayedexpansion

set paramstr=%1
set fext=%~x1
if not %fext%A==A set fext=%fext:.=%

set viewfile=%1
set tempfile=0

if "%fext%"=="svg" (
   set tempfile=1
   set viewfile=%TEMP%\tmp%DATE:.=%%RANDOM%.png
   rsvg-convert.exe -o "!viewfile!" -f png -a -w 768 -h 384 "%~1"
   goto viewInLister
)

:viewInLister

"%commander_path%\totalcmd.exe" %commander_cmdline% /O /S=L "%viewfile:"=%" & (
echo.
)

if %tempfile%==1 (
   if exist "%viewfile:"=%" (
      del /f /q "%viewfile:"=%"
   )
)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
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