These are my steps:

1) Set my VB form always on top using SetWindowPos.
2) Call another application, X.
3) Get its handle, using FindWindow.
4) Set foreground window to X, using SetForegroundWindow to let X receives all the keystrokes.
4) Send keystrokes to X using SendKeys.

Not all the keys will be received by X.
But if I eliminate step 1, that is not to set my VB form always on top, it works perfectly (all the keystrokes are received by X) !

Can anyone figure out why this is happenning?

Please guide !

Thanks a lot in advance!!!

Have a nice day!