Прога с функцией SetLayeredWindowAttributes отказывается запускаться в Win 98 (поясню , что я восе не хочу в 98-ой винде получить никакой прозрачности, я хочу, чтоб просто прога работала). Проблема в том, что я проверяю OSVersion и запускаю эту функцию только если винда 2kXP! все нормально определяется: винда 98-ая, значит функция не должна выполняться... а прога не запускается: пишет какую-то мессагу тпа нет такой функции! В чем дело? как это исправить?
Здравствуйте, Alexey! Во первых, если ты пишешь на d6-d8 то в свойствах формы есть парамерт прозрачности. Во вторых надо загружать кернел динамически(см прил)
Приложение: Ответ отправлен: 01.03.2004, 15:28 Отправитель: Pawel Отвечает Foamplast
Здравствуйте, Alexey! Скорее всего в твоём исполняемом файле в таблице импорта прописано, что ты используешь данную функцию. Винда определяет, что данной функции в данной библиотеке нет и отказывается запускать программу. РЕШЕНИЕ Исключить функцию из таблицы импорта (зависит от компилятора, у меня явно задаётся) и использовать LoadLibrary и GetProcAddres для получения указателя на функцию.
Ответ отправлен: 04.03.2004, 01:24 Отправитель: Foamplast
Вопрос № 140
Ув. эксперты скажите ,пожалуйста, как поставить точку останова в программе калькулятора на нажатие кнопки "=" с помощью Softice, id кнопки - 3EEh.
Здравствуйте, Robert! Вы уверены, что это относится к теме Win API?
Ответ отправлен: 02.03.2004, 16:04 Отправитель: Pawel Отвечает Foamplast
Здравствуйте, Robert! Посмотри какому окну приходят сообшения (Spy++) и найди в коде оконную процедуру. Потом ставь точки останова где угодно.
Ответ отправлен: 04.03.2004, 01:47 Отправитель: Foamplast
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.