Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

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

 

  Вопрос: Проблема с перехватом Добавлено: 11.09.02 16:22  

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

Ситуация следующая: написана прграмма сидящая в трее. Пользователь пишет текст, например в Блокноте, принажатии на определенную кнопку клавы, скажет запятую, в Блокнот должен передаваться определенный текст (символ). Пробовал и перехватывать эту кнопулю и делать через хоткей, но чтото оно никак не пашет. Может у кого есть мысли как это реализовать. Заранее благодарен.

Ответить

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

Номер ответа: 1
Автор ответа:
 MAGNUS



Вопросов: 12
Ответов: 430
 Профиль | | #1 Добавлено: 11.09.02 16:26

А чем перечватываешь? PeekMesage? С хендлами из GetForegroundWindow? 

Я вот  с этоим же парюсь. пока не получается...

Ответить

Номер ответа: 2
Автор ответа:
 Malligan



Вопросов: 5
Ответов: 13
 Профиль | | #2 Добавлено: 11.09.02 16:30
Вот в том то и проблема, что не получается. Если это все сидит по отдельности, когда программуля активна, то все пашет, но вот как это все собрать и к тому же повесить на определенное нажатие? Если мысля появится может мыльнешь?

Ответить

Номер ответа: 3
Автор ответа:
 MAGNUS



Вопросов: 12
Ответов: 430
 Профиль | | #3 Добавлено: 11.09.02 16:39

Подожди... Как это, когда активна то все пашет? У меня она в любом случае никакич нажатий не ловит... На определенное нажатие то как раз просто, в   PeekMesage надо константами указывать диапазон месаг которые ловишь.

Ответить

Номер ответа: 4
Автор ответа:
 Malligan



Вопросов: 5
Ответов: 13
 Профиль | | #4 Добавлено: 11.09.02 16:50

Блин, неправильно сформулировал. Я имел ввиду что можно и кнопку поймать, и текст передать, только это все по отдельности пашет, отдельно ловит и отдельно вставляет. А вот совместить приятное с полезным никак не получается.

На самом деле ситуация до бональности простая. Нужно чтоб на цифровой клаве в любой раскладке на Del была точка. Знаю что это решается заменой dll в 2k, XP и kbd в мастдайке. Но дело в том что если 2k, XP не разработческая, то она свои dll взад возвращает, и мастдайка при критическом выходе тоже самое делает. А все проги для клавы, что есть, не катят...

Ответить

Номер ответа: 5
Автор ответа:
 MAGNUS



Вопросов: 12
Ответов: 430
 Профиль | | #5 Добавлено: 11.09.02 17:04

Кинь своы код плиз. У меня никак не ловит. Интересно как ты сделал.

А чтоб она библиотеки взад не возвращала их нужно сначала в DllCash запихать.

Ответить

Номер ответа: 6
Автор ответа:
 Malligan



Вопросов: 5
Ответов: 13
 Профиль | | #6 Добавлено: 11.09.02 17:15

Ок, с делами разгребусь и кину...

Есть еще вопрос: имею хоткей HK_DECIMAL. Что можно на него повесить чтоб пересылать текст в другую прогу? Напиши если не сложно. А то после 4-ех лет незанятия VB вспомнить тяжело уже...

Всякие там DefWindowProc(Me.hwnd, WM_SHOWWINDOW, 0, 0) вешаются без проблем...но это на фиг не надо...

Ответить

Номер ответа: 7
Автор ответа:
  j3d1



ICQ: 8370005 

Вопросов: 34
Ответов: 466
 Профиль | | #7 Добавлено: 11.09.02 17:38
Парни вам надо использовать GetdlgItem!!! И тыды всё похать будет за милую душу!!! Помойму так пишется эта ф-я

Ответить

Номер ответа: 8
Автор ответа:
 Malligan



Вопросов: 5
Ответов: 13
 Профиль | | #8 Добавлено: 11.09.02 18:04

Насколько я понимаю эта штука устанавливает заголовок или текст элемента управления. И посылает этому элементу WM_SETTEXT...или я вообще ничего не понимаю...

Мне надо просто поставить какойто текст в прогу, у которой я зна. только хэндл и имя окна...а вот идентификатора элемента управления у миню нэт

Ответить

Номер ответа: 9
Автор ответа:
 MAGNUS



Вопросов: 12
Ответов: 430
 Профиль | | #9 Добавлено: 11.09.02 19:01

Именно. По инфе эта ф-я получает текст диалогового окна по его идентификатору. Это может бытэ решением согласен, НО, теперь другая проблема : как получитш идентификатор зная только хендл другого окна? Я вот копаюсь но пока ничего такого не нашел...

Ответить

Номер ответа: 10
Автор ответа:
 Malligan



Вопросов: 5
Ответов: 13
 Профиль | | #10 Добавлено: 12.09.02 11:27

Идея по своей сущности хорошая...вот тоже копаюсь..

MAGNUS  если накопаешь что свистни

Ответить

Номер ответа: 11
Автор ответа:
 MAGNUS



Вопросов: 12
Ответов: 430
 Профиль | | #11 Добавлено: 12.09.02 12:47
Ok! Если накопаю свистну! Но дело то вот в чем: Я почему просил тебя код кинуть, потому что все по той же инфе, ф-и которые я использую  PeekMessage,SendMessage,PostMessage, могут работать тол-ко с окнами из того же процесса! ИМХО потому у меня и не работает нифиг, думал у тебя какоы другой способ..

Ответить

Номер ответа: 12
Автор ответа:
 Malligan



Вопросов: 5
Ответов: 13
 Профиль | | #12 Добавлено: 12.09.02 14:49

Покопавшись и почитав литературку понял, что в дельфях это сделать НАМНОГО проще

например, так и не нашел, как определить и поменять раскладку именно активного окна помимо GetKeyboardLayout и ActivateKeyboardLayout...

Ответить

Номер ответа: 13
Автор ответа:
  j3d1



ICQ: 8370005 

Вопросов: 34
Ответов: 466
 Профиль | | #13 Добавлено: 12.09.02 15:48

Народ

Вы чё вазе первый день за компом!!!

Простым перебором перебрать окна с опесателем ТЕКСТ и установить на них прослушку

Ответить

Номер ответа: 14
Автор ответа:
 MAGNUS



Вопросов: 12
Ответов: 430
 Профиль | | #14 Добавлено: 12.09.02 15:56

JEDI ! Ты вроде как не следишь за нитью разговора. Я ж говорю, окно есть, но прослушка на него не работает, с описанными средствами, если знаешь другие, кинь.

А перебирать контроли так же как окна в любом случае не выйдет, они не являются Child Window.

Или мы друг друга не понимаем.

Ответить

Номер ответа: 15
Автор ответа:
 Malligan



Вопросов: 5
Ответов: 13
 Профиль | | #15 Добавлено: 12.09.02 17:37

MAGNUS  прав. Простым перебором по имени получим кучу хэндлов. Так а если не потоковое окно, то как к нему обращаться?

Хотя процентов на 35 у меня получилось по хоткею кидать символ в блокнот, но только один раз

Ответить

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

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



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