Granted you "are using windows," and I hate to make this suggestion because it seems so typical, but if that changed this task would be trivial. On Linux you can access your hd as a block device, without mounting it (which would require a format). So you could literally read the device at /dev/hda1 directly. (assuming your root)
This might be easier than getting it to work in windows NT/2k/XP, which to my knowledge won't allow direct access to *any* device. And it won't allow any access to a hard drive until you format it.
There is also a tool called "testdisk" for linux which might be able to restore your partitions, and help recover your data. Check for a local Linux sig if you don't know how to use linux.
Evan Carroll
www.EvanCarroll.com