2

Я просмотрел документацию для BM_GETCHECK и кажется, что эта функциональность поддерживается только в Windows Vista и выше. То есть, это не поддерживается в Windows XP. Быстрый search онлайн не сразу дает альтернативный способ получения состояния управления.Windows XP Поддержка WinAPI для элементов управления CheckBox

Сообщается, что некоторые другие сообщения (this), которые я также ожидал бы работать с Windows XP, не поддерживаются. Кто-нибудь может понять это? Как обычно вы используете совместимость с Windows XP?

К сожалению, у нас все еще есть клиентская база Windows XP, поэтому поддержка Windows XP по-прежнему необходима.

ответ

4

К сожалению, MSDN стала инструментом для войны Microsoft с версиями ОС до Vista, и теперь она (или, по крайней мере, вводит в заблуждение) о минимальной поддерживаемой версии ОС.

То есть, поскольку Vista является самой ранней поддерживаемой ОС, ни один из API (или, по крайней мере, те, у кого была обновлена ​​их документация) не поддерживаются более ранней версией, хотя они могут фактически существовать и работать просто хорошо.

BM_GETCHECK действительно существовал в Windows XP, на самом деле он существовал в Windows 2000 и, вероятно, Windows 95. Код, который работает на XP, не волшебным образом перестает работать просто потому, что Microsoft больше не поддерживает XP.

К сожалению, ваш единственный способ убедиться в статусе функции или сообщения API - использовать старую версию библиотеки MSDN (ту, которая предшествует Windows 7, которая, как мне кажется, примерно в то время, когда они начали обновлять минимальную номера версий).

+2

MSDN удалил неподдерживаемые версии ОС из минимальных требований API в течение многих лет, то есть ничего нового. –

+1

Кроме того, ссылки на управление говорят, что Windows Server 2003 по-прежнему поддерживается; Я был бы удивлен, если бы что-то работало на S2003, но не на XP. – andlabs

+0

Большое спасибо @andlabs! Это очень помогает (http://superuser.com/a/85636). – Pooven

Смежные вопросы