сообщение WM_CANCELJOURNAL

Предупреждение

API перехватчиков журналов не поддерживаются начиная с Windows 11 и будут удалены в будущем выпуске. Поэтому мы настоятельно рекомендуем вместо этого вызывать API SendInput TextInput.

Публикуется в приложении, когда пользователь отменяет действия приложения в журнале. Сообщение публикуется с дескриптором окна NULL .

#define WM_CANCELJOURNAL                0x004B

Параметры

wParam

Этот параметр не используется.

lParam

Этот параметр не используется.

Возвращаемое значение

Тип: void

Это сообщение не возвращает значение. Он предназначен для обработки из цикла main приложения или процедуры перехватчика GetMessage, а не из оконной процедуры.

Комментарии

Режимы записи журнала и воспроизведения — это режимы, налагаемые на систему, которые позволяют приложению последовательно записывать или воспроизводить данные пользователя. Система переходит в эти режимы, когда приложение устанавливает процедуру перехватчика JournalRecordProc или JournalPlaybackProc . Если система находится в любом из этих режимов яства, приложения должны по очереди считывать входные данные из очереди ввода. Если одно приложение перестает считывать входные данные, пока система находится в режиме журнала, другие приложения вынуждены ждать.

Чтобы обеспечить надежную систему, которая не может не отвечать ни одним приложением, система автоматически отменяет все действия в журнале, когда пользователь нажимает клавиши CTRL+ESC или CTRL+ALT+DEL. Затем система отцепет все процедуры перехватчика журнала и отправляет WM_CANCELJOURNAL сообщение с дескриптором окна NULL в приложение, которое задало перехватчик журнала.

Сообщение WM_CANCELJOURNAL имеет дескриптор окна NULL , поэтому его невозможно отправить в процедуру окна. Приложение может увидеть сообщение WM_CANCELJOURNAL двумя способами: если приложение выполняется в собственном цикле main, оно должно перехватывать сообщение между вызовом GetMessage или PeekMessage и вызовом DispatchMessage. Если приложение не выполняется в собственном цикле main, оно должно задать процедуру перехватчика GetMsgProc (с помощью вызова SetWindowsHookEx, указывающего тип WH_GETMESSAGE перехватчика), которая следит за сообщением.

Когда приложение видит WM_CANCELJOURNAL сообщение, оно может предположить, что пользователь намеренно отменил запись журнала или режим воспроизведения, а система уже отключила все процедуры перехватчика записей журнала или воспроизведения.

Обратите внимание, что указанные выше сочетания клавиш (CTRL+ESC или CTRL+ALT+DEL) заставляют систему отменить ведение журнала. Если какое-либо приложение перестает отвечать на запросы, пользователь может получить средства восстановления. Код виртуального ключа VK_CANCEL (обычно реализуется в виде сочетания клавиш CTRL+BREAK) — это то, что приложение, которое находится в режиме записи журнала, должно watch в качестве сигнала о том, что пользователь хочет отменить ведение журнала. Разница заключается в том, что наблюдение за VK_CANCEL — это рекомендуемое поведение для приложений, в то время как сочетание клавиш CTRL+ESC или CTRL+ALT+DEL приводит к тому, что система отменяет ведение журнала независимо от поведения приложения для ведению журнала.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Winuser.h (включая Windows.h)

См. также раздел

Справочные материалы

JournalPlaybackProc

JournalRecordProc

GetMsgProc

SetWindowsHookEx

Основные понятия

Обработчики