but I'm not sure if this is even a way to do this.
Answer: YES and NO. YES, if used correctly, NO, not the way you do it. Do not use the special UNICLODE / ANSI functions unless you want to force UNICODE or ANSI. Your code should look like this:
CString csText;
GetDlgItemText(IDC_FILE_NAME, csText);
NOTE GetDlgItemText