Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 | 2 | 3 |

 

  Вопрос: Послать команды из VBA в другое приложение! Добавлено: 10.10.05 23:39  

Автор вопроса:  vall

Ответить

  Ответы Всего ответов: 36  

Номер ответа: 31
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #31
Добавлено: 21.10.05 06:35
Что сей идентификатор (33277) идентифицирует? Тулбару слать сообщение WM_COMMAND? Что ты этим хотел добиться? Я ж тебе уже рассказывал про уведомления, или тебе нужно по несколько раз повторять?

Ответить

Номер ответа: 32
Автор ответа:
 vall



Вопросов: 6
Ответов: 31
 Профиль | | #32 Добавлено: 21.10.05 09:09
Я с помощью Wininspector определил WM_COMMAND-33277,
это сообщение на нажатие кнопки! Почему в одном случае работает , а другом нет? Обрати внимание, что в программе
я на окна я поставил ";Do While...Loop", они тоже работали
без ";Do While...Loop" в режиме ";Debag" , а с Exelя не работали! По видимому не успевали инициализироваться,
программа работала быстрее, чем появлялись окна!
Может и здесь так же?
(А вообще то я сейчас разбираюсь с сабклассингом,
хочу задать вопросы, но попозже, можно???)

Ответить

Номер ответа: 33
Автор ответа:
 vall



Вопросов: 6
Ответов: 31
 Профиль | | #33 Добавлено: 21.10.05 10:10
Я ж тебе уже рассказывал про уведомления, или тебе нужно по несколько раз повторять?


Ну, не по несколько раз повторять, но пару раз надо,
зато дошло теперь!:)
Сейчас все работает отлично!!!
Спасибо большое!

Ответить

Номер ответа: 34
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #34
Добавлено: 22.10.05 05:13
Что всё? Да ну, так быстро? :)

Ответить

Номер ответа: 35
Автор ответа:
 vall



Вопросов: 6
Ответов: 31
 Профиль | | #35 Добавлено: 22.10.05 10:59
Все в мире относительно! Ну вообще то да, две недели
без выходных только этим и занимался!
Для меня это дело новое, а я человек увлекающийся,
как у Высоцкого:"Ежли я чего решил, то...!"
-------------------------------------------
Ну это еще не конец, у меня в Металиксе есть еще
одно приложение -Autonesting, но с ним, я думаю,
справлюсь таперь быстрее!
---------------------------------------------
Почитал помощь по SubClassing, появились вопросы
пока общего порядка.
Я понял так, что можно перехватить сообщение Windows
и вместо нее послать свое сообщение, но это, как бы,
уже в заранее известном окне или текст боксе и т. д.
Чтобы кнопка веер делала или свое контестное меню всплывало,но это все как добавочные полезные опции, причем, как ответы на "клики" мыши.
А чем может SubClassing помочь в моем случае, когда все должно программно прокрутиться, особенно открытие окон???
Ведь все равно надо искать хэндлы и сообщения с Wininspector!? Или опять не догнал? :)
Вот, например, какую именно ты оконную процедуру поменял
или добавил ???(окно было синее, стало красное или что?)
Самое интересное ты не написал :)!?

-------------------------------------------------------
'Меняем оконную процедуру (например при загрузке)
gOldSubClassProc = SetWindowLong(hTextBox1, %GWL_WNDPROC, CodePtr(SubClassProc))

Function SubClassProc(ByVal hWnd&, ByVal wMsg&, ByVal wParam&, ByVal lParam&;) As Long
 'Вот здесь кидаешь все параметры в лог
 '...
 'Вызов родной процедуры сообщений
 Function = CallWindowProc(gOldSubClassProc, hWnd&, wMsg&, wParam&, lParam&;)
End Function

'Ну и в конце отключаешь субклассирование
SetWindowLong hTextBox1, %GWL_WNDPROC, gOldSubClassProc

 

Ответить

Номер ответа: 36
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #36 Добавлено: 22.10.05 15:16
Сабклассить окна чужого приложения напрямую нельзя.
Можно, но с таким извратом, что лучше нельзя.

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам