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 

Single Post  Topic: Подмена "штатного" сетевого окружения при возврате с хоста 
Author Message
MVV



PostPosted: Tue Apr 20, 2010 16:02    Post subject: Reply with quote

HankHank wrote:
MVV wrote:
Видимо, ты плохо разобрался с форматом буфера для WM_COPYDATA, который ожидает ТК. Вот он:
Code:
<first_path>\r<second_path>\0<flags>

Флаги: 'T' - в новой вкладке, 'S' - менять пути активной и неактивной панелей вместо левой и правой.

Так ясно. По началу строчка wsprintf показалась заумной. И я решил, что хватит с меня и первого параметра с путём, куда надо переключить активную панель. А откуда эта инфо ?

Ну, официально Гислер вроде это не документировал, в history.txt упоминается только про само сообщение без описания формата. Но вообще на TotalcmdWiki есть пример функции, отправляющей WM_COPYDATA.

HankHank wrote:
MVV wrote:
Таким образом, правильный буфер:
Code:
static char cdnet[]="\\\\\\net\r\0S";


Да, так работает. Буду ковать дальше.

Это главное. Значит, я не ошибся, когда составлял эту строчку. Very Happy

HankHank wrote:
Ещё заметил такую деталь. Может, интересно кому.
Вот здесь http://www.firststeps.ru/mfc/winapi/win/r.php?126 прочитал про WM_COPYDATA:
Quote:
Если принимающая программа обрабатывает это сообщение, она должна возвратить значение ИСТИНА (TRUE); в противном случае она должна возвратить - ЛОЖЬ (FALSE).

У меня же передача параметров срабатывает, происходит переход куда требуется, но SendMessage возвращает при этом 0.

Я обычно читаю MSDN. Но суть не в том. Не обращай внимание на то, что должно быть. Тем более, имея дело с VCL, на которой построены окошки в дельфийских программах - там черт ногу сломит. Кроме того, ничто не мешает ТК обработать сообщение, но вернуть 0. И в нашем случае цель отправки сообщения - не возвращаемое значение, а действие. Smile
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
View user's profile Send private message ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group