SetWindowsHookEx делает панель задач зашифрованной, в то время как «Новости и интересы» были отключены

#c #windows #hook

Вопрос:

Моя операционная система-Windows 10 21H1, а настройка «Масштаб и макет» дисплея — «150%» (не » 100%»). Я отключил «Новости и интересы», используя контекст панели задач.

После вызова SetWindowsHookEx область уведомлений панели задач стала искаженной(искаженной), а область даты/времени не отображается.

Я вызвал SetWindowsHookEx, как показано ниже.

 g_hHook = SetWindowsHookEx(WH_CALLWNDPROCRET, CallWndProc, g_hDLL, 0 );
 

и CallWndProc-это

 LRESULT CALLBACK CallWndProc( int nCode, WPARAM wParam, LPARAM lParam )
{
    return CallNextHookEx(g_hHook, nCode, wParam, lParam);
}
 

Как я могу использовать функцию SetWindowsHookEx, чтобы избежать скремблирования панели задач?

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

Комментарии:

1. Правильно ли, что это вызвано функцией SetWindowsHookEx? Это проблема, которая возникает только в 21: 1? Пожалуйста, предоставьте более подробное объяснение.

2. Как вы можете видеть в моем коде, функция CallWinProc не делает ничего особенного. Я уверен, что это вызвано SetWindowHookEx.

3. Я думаю, что это может быть собственная проблема 21H1. Я уже сталкивался с подобными проблемами раньше. Когда Win10 была впервые выпущена, возникла проблема с тем, что в моей программе не отображались всплывающие подсказки с воздушными шариками. После обновления ОС проблема разрешилась сама собой.