Мужики! Пытаюсь заставить локальный МСДН плясать под свою дудку - а он - болт идея следующая - имеется в буфере фраза, по команде ищется окно мсдн-а, в комбобокс ему записывается эта фраза и он активизируется (мсдн должен быть уже запущен). в принципе все работает, но активизация не происходит (не получает настоящий клавиатурный фокус, хотя курсор там моргает) - приходится переходить вручную в него, нажимать энтер - но это теряет весь кайф (идея немного облегчить рутинный поиск в мсдн-е). процедурка обкатывается в диалоге - в эдит пишем слово, энтер - и смотрим... также иногда че-то не очень активизируется когда мсдн свернут - гляньте, может че посоветуете (там конечно налеплено немного - это я мэсаджи посылал всякие, может, надо было WM_NAH... послать для информации: комбо ищется так - ищется окно со специфическим классом (см дб), в нем окно с заголовком индекс, в нем - первое попавшееся (там вроде один диалог), а в нем - контрол 996 гекс (взято из мс-спай) - есть вероятность отличий при использовании иных версий. заранее благодарен. _1121417632__msdn_d.zip
я использую winasm IDE (очень удобная, и Антон Куприянов выполняет пожелания по ее улучшению). так вот, к ней можно писать плагины, что я и сделал - переходить в мсдн прямо из винасма с непонятным словом уже в комбобоксе (обычно я копировал, переключался и вставлял - но это утомительно). мсдп консоль - это мди-приложение с тултипами - немного сложновато для меня (в мсдн-е вообще написано что нельзя писать в эдит из другого процесса, что меня и удивило - написать получилось, а сымитировать энтер - нет вот такая гол боль
Я, например как-то написал плагин для Delphi IDE (иногда и там писАть приходится), который вызывает msdn по слову, на котором курсор стоит (типа контекстный help). Как я понял, в subj надо примерно тоже самое сделать? Так вот, я использовал только HTML Help API. Делов всего -заполнить структуру и вызвать пару функций. Вот и все комбинирование, абсолютно без гол боль ). А писать в edit чужого процесса можно, т.к. edit - старый контрол (еще из 16-битных виндов) и система поддерживает "общение" со старыми контролами для совместимости, в отличие от новых (ListView, TreeView,etc.)