You could try the Shrink/Extend feature in Vista :
Right-click Computer, Manage, Disk Management then right-click the drive to be changed or have a look click here
The shrink partition utility can only decrease the partition size down to the first unmovable/locked system file. To get round this, temporarily turn off System Restore, do the shrink and turn System Restore back on. Running a defrag may also move some of the ‘unmovable’ files.
Alternatively, you can shrink partitions by running the diskpart command from the Vista DVD, which avoids the occurrence of locked files.