Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2006, 20:47   #1
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию хук

XeRoN
Добрый день (точнее скорее всего ночи) всезнающий ALL!

У меня к тебе такой вопрос:
Имеется программа (Чужая) в ней эдит. Если в эдите 12 цифр то происходит определенное событие.
Вопрос такой: Как сделать из моей проги так, чтобы это событие не происходило?
Имеется ввиду хук на событие onChange..
sion
А если эти цифры удалять из EDITа
rpy3uH
точно не помню то в хуке надо обрабатывать такое сообщение WM_**CHAR, на месте звёдочек могут быть какие то буквы, просто название сообщения точно не помню(короче надо смотреть MS SDK), при перехвате этого сообщения просто не пускаь его дальше а текст этого эдита изменять через SetWindowText
XeRoN
А если эти цифры удалять из EDITа?

Не получается(

Вот попытаюсь описать задачу попонятней =)
Может быть есть другой способ реализации

В общем есть прога, в ней эдит. Если количество цифр в эдите 12 то вылезает форма... Если цифр <12 или >12 то ничего не происходит... Нужно сделать так, чтобы эта форма не вылезала...
Да, кстати если в проге ВПЕРВЫЙ раз ввели 12 цифр то тогда эта форма не вылазит...
Может быть можно как то заставит прогу думать что цифры в эдит вводят впервый раз?) Ну типа эдит только создали =)
zetrix
Может совет и не очень, а ты попытайся в том же блокноте написать цифры - штук 15 потом копировать, а в проге - вставить... может прокатит...
XeRoN
Не прокатит...
Пробывал даже сообщение послать WM_SETTEXT не работает =(
Попробовал SetWindowText, ниче не происходит =(

Попробовал так:
var St1:PChar;
...
St1:='String';
SetWindowText(HandleEditor,st1);
...
Результата нет =(

Можно пожайлуста пример для изменение текста в эдите с помощью SetWindowText(); зная его хэндл.
sion
Попробуй так:
SendMessage(Edit1.Handle,WM_SETTEXT ,0,lparam(LPCTSTR('123456789111'))) ;
если не изменится значит ХАНДЕЛ у тебя не правильный.
rpy3uH
вот 100% рабочий код исли не пашет значит хендл неправильный

var

str:array[0..256]of char;

begin

SetwindowText(handle,@str);
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск