I am trying to control Google Earth. I would like to use SendMessage(handle, WM_KEYDOWN, VK_?, 0) to control it without having to set focus using BringWindowToTop(handle), but for some reason it only works if it is on top. The real problem is that I can't get it to accept a Shift-?. I can press CTRL/ALT key combinations, but it when I do VK_SHIFT then VK_UP, it just interperates it as an up, not shift-up. If I hold shift on my keyboard while it sends up it does a shift-up. I have tried using WM_SYSKEYDOWN, VK_LSHIFT, VK_RSHIFT, and even keybrd_event(), but they all have the same problem. What is going on here?