a other method i used a lot is a double call of Seek(), it returns the postition of the last i/o call
Seek(filehd, 0, OFFSET_END);
len = Seek(filehd, 0, OFFSET_BEGINNING);
the 1st seeks to the end of the file so the 2nd call returns the position of the last dos i/o