I asked a very similar question earlier
Previous question:
I've read some guides about resizing the system partition. But they all seem to require the unallocated space to come directly after the partition I want to resize. But I have this:
The only difference between this and the previous question is that this time I'm NOT running Windows in a virtual machine. When I was using a virtual machine, harrymc's answer worked like a charm.
But this time it didn't. I created a bootable usb stick with GParted, booted it up, moved the partition to the end and rebooted. But when I entered Windows, there where no changes. I tried it again while not only moving the recovery partition, but also resizing the C: partition directly in GParted. Again, no changes where visible when I booted back into Windows.
I'm open to the idea to use other tools than GParted. Just need to get the job done.