I have the same problem (full C: partion, empty D: partion in Win7 Home Premium) discussed on January 1, 2013 at 3:13 PM by John_VanKirk. I followed his instructions to free space on D: but the option to extend C: using the new free space created from D: is not available when right-clicking C: The free space seems to be part of an extended partition with D: How can I add this new free space to C:?
More about :full partition empty partition freed space move
The problem is that with a hard drive, windows starts at sector 0 and then partitions towards the outside of the disk. That means when you shrink the D partition, it takes from the outside as that's the lowest performance area.
The only solution for you is to delete the D partition, expand the C partition to what you want then re-create the D partition. Or you could just make it one single partition if you don't use the D partition.