In Windows XP, all versions, you can speed up and FORCE shutdown if you know how to make Registry changes. I would imagine the same registry changes are effective in Vista or Windows 7.
To automatically end, terminate and kill user processes or tasks on shutdown or logoff:
Navigate to this registry branch -
HKEY_CURRENT_USER\Control Panel\Desktop
By changing to the value of registry key -
AutoEndTasks to 1, Windows will end all processes that timeout when shut down or log out from Windows automatically, without asking for user input or interaction.
Reduce the wait time for services to be killed:
Navigate to the following registry branch -
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control
On the right pane, double click on 'WaitToKillServiceTimeout’ or right click on it and choose modify. Change the default value of WaitToKillServiceTimeout of 20000 to lesser value, such as 5000 or even 1000, depending on your preference.
Reduce the wait time for user processes and applications to be killed:
Navigate to the following registry branch -
HKEY_CURRENT_USER\Control Panel\Desktop
On the right pane, double click on WaitToKillAppTimeout (or right click on the registry key and select Modify), and enter a new value which is less than the default value of 20000. The value can be 1000 or 5000 or any other numeric value, depending on your preference.
On the right pane also, double click on HungAppTimeout (or right click on the registry key and select Modify) and change the value to less numerical value than 5000 (default value),
Then navigate to HKEY_USERS\.DEFAULT\Control Panel\Desktop\ registry branch, and do the same as above to change and modify the value of WaitToKillAppTimeout and HungAppTimeout
Disabling cleaning the pagefile is done in the registry:
Change the DWORD value ClearPageFileAtShutdown to 0 at registry branch -
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\Session Manager\Memory Management