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 

Функция не поддерживается...

 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
aLexx



Joined: 14 Mar 2005
Posts: 442
Location: Новокузнецк

Post (Separately) Posted: Thu Nov 08, 2007 20:21    Post subject: Функция не поддерживается... Reply with quote

Пытаюсь из своей программы отослать ТС одну из комманд:

cm_Copy=905;Copy files
cm_RenMov=906;Rename/Move files
cm_MoveOnly=1005;Move (F6)

Получаю сабж.
А вот переместить через буфер обмена:

cm_CutToClipboard=2007;(32-bit) Cut selected files to clipboard
переход на другую панель
cm_PasteFromClipboard=2009;(32-bit) Paste from clipboard to current dir

и всё ОК. Но это ведь через (_|_) !!!
Как правильно сделать с помощью нужных комманд?

PS. Кстати, тоже самое сообщение получаю, если просто отослать в ТС код клавиш F5 или F6...
Back to top
View user's profile Send private message
D1P



Joined: 20 Dec 2004
Posts: 2973
Location: Тбилиси

Post (Separately) Posted: Thu Nov 08, 2007 21:41    Post subject: Reply with quote

Подтверждаю.

Code:
SendMessage(FindWindow ('TTOTAL_CMD',nil), WM_USER+51, 905, 0);


даёт такую байду.
_________________
База знаний о Total Commander
Блог
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Fri Nov 09, 2007 16:41    Post subject: Reply with quote

Да все, работает, вроде. Сейчас забацал .bar файл для TCmenu с командами cm_Copy и cm_RenMov. Все работает.
Так что тут что-то другое.
Back to top
View user's profile Send private message
B4rr4cuda



Joined: 03 Jun 2007
Posts: 376
Location: Россия, Москва

Post (Separately) Posted: Fri Nov 09, 2007 16:58    Post subject: Reply with quote

Подтверждаю.
Не работают операции с файлами.
Просмотр и редактирование, также как создание каталога - работают.
На
Code:
cm_Delete=908;//Delete files
cm_Copy=905;//Copy files
cm_CopySamepanel=3100;//Copy within panel
cm_CopyOtherpanel=3101;//Copy to other
cm_RenMov=906;//Rename/Move files
cm_Delete=908;//Delete files
cm_MoveOnly=1005;//Move (F6)
отвечает "Функция не поддерживается".
Back to top
View user's profile Send private message
aLexx



Joined: 14 Mar 2005
Posts: 442
Location: Новокузнецк

Post (Separately) Posted: Fri Nov 09, 2007 17:04    Post subject: Reply with quote

2 VadiMGP
Чисто случайно, а не используешь ли ты "TCWSHelp" от Volniy?
Почему-то тама эти комманды поддерживаются... Sad

А как конкретно эти кнопки выглядят?
Back to top
View user's profile Send private message
B4rr4cuda



Joined: 03 Jun 2007
Posts: 376
Location: Россия, Москва

Post (Separately) Posted: Fri Nov 09, 2007 18:24    Post subject: Reply with quote

Странное дело, тот же SendMessage с той же командой, но выполненый из плагина, работает. На команды посланые внешним приложением, говорит "Функция не поддерживается".
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Fri Nov 09, 2007 19:11    Post subject: Reply with quote

Интересная фигня получается. Заглянул в сорсы TCMenu и нашел свой собственный комментарий.
Code:
      // Return focus back+delay - must!!
      mWnd->SetFocus();
      Sleep (200);
      mWnd->PostMessage(WM_USER + 51, wParam, 0);
И теперь вспомнил, что действительно была такая проблема с командами, которые имеют собственные диалоги с юзером (Copy, Move, FTP...). Возврат фокуса и задержка в 200 мсек решили эту проблему.
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Fri Nov 09, 2007 19:14    Post subject: Reply with quote

B4rr4cudaТак когда из плагина, то фокус-то в ТС! Вот в чем фокус. Wink
Back to top
View user's profile Send private message
B4rr4cuda



Joined: 03 Jun 2007
Posts: 376
Location: Россия, Москва

Post (Separately) Posted: Fri Nov 09, 2007 20:00    Post subject: Reply with quote

Точно. Проверил. Передача фокуса не помогла, а вот после выведения в форегроунд (и соответственно передачи фокуса) - все работает.

Добавлено: Вот код который пашет. Если вместо SetForegroundWindow, выполнить SetFocus - ноль эмоций.
Code:
Windows.SetForegroundWindow(FindWindow('TTOTAL_CMD',nil));
Sleep(2000);
PostMessage(FindWindow ('TTOTAL_CMD',nil), WM_USER+51, 1005, 0);
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Fri Nov 09, 2007 20:25    Post subject: Reply with quote

Ну у меня в TCMenu и SetFocus работает. Возможно это связано с тем, что главное окно TCMenu невидимое. Но в общем, один черт, можно и SetForegroundWindow. Главное - вернуть фокус.
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
Page 1 of 1

 
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