one of the most visible things in Vista apart from User interface is User Account control or better known as UAC and at the background security features. Some of the things you should know in order to be familiar with the changes in the way it can affect applications –
1 . there is a standard mode in which every application is expected to run normally. Some operations needs more permissions like access to some directories and registry location. If one can avoid this they should. Vista takes care of legacy applications for this by Virtualization. If they request such directories or locations they are given a dummy location. If they still needs such permissions they needs to run as administrator which give them more permissions. And this transition cannot happen in between . One has to close the application and restart as administrator. If at all one needs to run in standard mode for most of the things and yet to make this transition only for some tasks then these specific tasks can be moved to some other exe which can be spawned as adiministrator. Example is – try to create a file at ..\program files. A dialog will come up asking for permissions. Explorer runs in standard mode and to make a file at the high security location on needs more permissions so a new process is spawned with administrator mode.
2 . in standard mode you cannot even query other admin mode processes about its state. It will be to the extent that from standard mode you cannot even determine if other process is admin mode if at all it is in admin mode. So you have to rely on few apis failing to say probablistically that other process is admin mode.
3 . internet explorer by default runs in protected mode with even lesser rights. This is to prevent websites or plugins to silently access system resources.
4 . hooks cannot be set by standard process in admin process. There is no way to do it except move subset of application containing hook injection code to admin process. Standard proceeses can set up hook in IE but IE wont send messages back to the standard process. To do this one has to use ChangeWindowMessageFilter. In this one can specify the message which one wants to accept.
5 . to make applications go along with Vista they need a manifest file embedded in them which alongwith other things define the level of execution.