Freigeben über


Значения параметров оконных сообщений, приходящих в ваше окно, не содержат метафизическую истину

В документации MSDN в разделе об оконных сообщениях написано, что каждый из параметров что-то означает. Но только потому, что он означает что-то, совсем не значит, что этим он и является. Он всего-навсего означает это.

Но это вы итак знаете. Если у вас есть дескриптор окна, вы можете послать ему любое сообщение, какое захотите, с любыми параметрами, даже если эти параметры идут вразрез с реальностью. К примеру, вы можете написать некоторый код, который находит целевое окно и отправляет ему сообщение WM_COMMAND с параметрами, которые заявляют, что сообщение было сформировано при помощи сочетания клавиш, когда на самом деле оно было сформировано при помощи кода внутри вашего специального элемента. Но вы отправляете это сообщение с параметрами определенных сочетаний клавиш для того, чтобы обмануть программу, чтобы она считала, что это сообщение было сгенерировано в результате нажатия кнопок на клавиатуре. Аналогичным образом, если ваш элемент управления хочет сэмулировать щелчок по пункту меню, вы должны передать те же самые параметры таким же способом, как это делает само меню.

Читать далее