Есть Edit к нему прикреплен msctls_updown32. В Edit значения изменяются от 1 до 20, а мне надо поставить мин. значением 0. UDM_GETRANGE возвращает 0, т.е msctls_updown32 в ограничении не участвует. Еще знаю: программа написана на VisualC++, WindowProc для Edit=77D1B1CC (видимо user.dll), WindowProc для msctls_updown32 = FFFF0C1D; при отправке сообщения WM_SETTEXT в Edit значение вообще исчезает, но реально не меняется. Подскажите как можно найти обработчик где проверяются ограничения?
uniken1 Думать надо, вообще-то. Ограничение ведь для чего-то поставлено. Ну даже загонишь ты туда ноль, а прога "свалится" А проверялку нужно искать в обработчике ввода в Edit - где ж еще ? Прога читает(чем это уж другой вопрос) и проверяет...
Если свалиться это проще, в отладочном сообщении адресс будет виден, где упала, а это уже можно пофиксить или ... ну вобщем др история. Ну ... первое собщение: как найти обработчик?
Если программа написана на MFC, то проверки практически наверняка сидят в перегруженной функции CAppDialog:oDataExchange ( http://msdn2.microsoft.com/en-us/library/x4d0y489(VS.80).aspx или поиск по слову DoDataExchange либо DDV_MinMaxInt), и вызывается эта функция глубоко из внутренностей MFC. Чтобы её найти, нужно найти таблицу виртуальных методов класса диалога. Чтобы найти класс диалога, нужно в свою очередь представлять в общих чертах концепции MFC.
uniken1 Вопрос глупый. Чувствую поиск не хочешь использовать. Например вот нечто похожее обсуждается : http://www.wasm.ru/forum/viewtopic.php?id=11220