Hi, It's worse!
This code should replace the existing one in win32k/csrss, but is not activated (yet) due to some bugs:
- Calling SetWindowsHookEx with WH_KEYBOARD_LL gives a BSOD when pressing a key
Not sure,,, The hook code is a Wineie/GvG/w3seek hod podge thingy.
- Time field in PKBDLLHOOKSTRUCT/PMSLLHOOKSTRUCT should be in milliseconds
- Screen saver parameters can't be retrieved with SystemParametersInfoW
- Probably others...
In ntuser/message.c & desktop.c, I noticed that the switch code uses a static PW_O InputDesktop. This is used in message.c when looking for broadcasting,, etc. It's indirectly called by IntGetDesktopWindow which returns the active desktop that is stored in InputDesktop. SO,,,,, multi desktops w/o a common root message hook?,,,,,,
Plus a few less important ones:
- When sending a message with HWND_BROADCAST, the invisible SAS window doesn't get the message
In ntuser/message.c, co_IntDoSendMessage doesn't support recursive entry for HWND_BROADCAST. A good example for doing this is UserPostMessage. If it does, I did not see yet.
- When calling (NtUser)SystemParametersInfo, WM_SETTINGSCHANGE message is not sent
- desk.cpl doesn't save (some) screensaver parameters to registry
SendNotifyMessage is UNIMPLEMENTED! Oh the Shock of seeing that! 8^O !NOOOOOOO!
Okay, James