Implicit in almost every question is a reason for asking the question. From your question, I wasn't able to determine the circumstances that would require you to rotate the desktop. Without more information about your (certainly unique) requirements, I can only suggest the obvious solutions:
1) Lay your monitor on its side.
- Or, programmatically -
2)
Code:
M$ = "Tilt your head to the side." & vbCrlf
M$ = M$ & "Click Ok when finished."
MsgBox M$
I'm really not being sarcastic or frivolous. You have asked a question that is way beyond the scope of the VB version 5 & 6 forum (probably better to ask the experts in the Assembly forum). I guess my point is that there is probably a way to do this but you aren't going to get anybody to give it much thought unless to explain
why you need to rotate the desktop.
You could capture the screen to a bitmap and rotate the bitmap before displaying it. This would be much easier than rotating the actual desktop. When a user double-clicks on a portion of the bitmap you could send a message to application associated with the icon located on the area of the desktop corresponding to the area clicked on the rotated bitmap... but what would you do when the user opened an instance of Microsoft Word and you had to program your app to intercept all of the mouse and keyboard events, translating Xs into Ys and Ys into Xs, to allow the user to type sideways? And wouldn't the user become more than a little annoyed at being forced to tilt his head or lay the monitor on its side in order to use his computer?
Yes, this would be a much easier solution. You would only have to find a way to intercept every Windows event and translate it into a form guaranteed to aggravate the user.
Going back to your original question:
"I need a small app that will rotate the windows desktop 90 degrees." The SMALL part just isn't going to happen.