Click here to Skip to main content
11,478,619 members (65,800 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++ MFC
Hi All,

Please check this code and suggest why it is not getting the full path name.

Path is getting like this:
D:\MYFolder\SVN_MY~1\DEVELO~1\SOCF9E~1\Release\sample_Capture.txt
instead of
D:\MYFolder\SVN_MYApp\Development\SourceCode_Ported - Win7\Release\sample_Capture.txt

CString GetExePath()const 
{
	TCHAR directory [200] = {ZERO_VAL};	
	GetModuleFileName(NULL, directory, sizeof(directory));	
	CString l_strFilePath = directory;
	TCHAR ch = _T('\\');
	int location = l_strFilePath.ReverseFind(ch) ;
	l_strFilePath = l_strFilePath.Left(location+1);
	return l_strFilePath;
}
Thanks
Sam
Posted 14-Mar-13 21:38pm
Mr Sam715
Edited 14-Mar-13 22:45pm
v3
Comments
Jochen Arndt at 15-Mar-13 3:44am
   
You already get correct answers to your question.
But there is an error in your code. The buffer size passed to GetModuleFileName() must be in TCHARs. So you must use:
GetModuleFileName(NULL, directory, sizeof(directory) / sizeof(TCHAR));
nv3 at 15-Mar-13 4:09am
   
Very important hint, Jochen. Got my 5.
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

The GetModulePathName[^] documentation mentions
The string returned will use the same format that was specified when the module was loaded.
What you're getting is the short path name[^]

Use GetLongPathName[^] to convert the returned path into it's long path form.
  Permalink  
Comments
Mr Sam at 15-Mar-13 4:53am
   
Hi! parths,
Using GetLongPathName() resolved my issue. Thank You!
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

Use
GetLongPathName
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 289
1 F-ES Sitecore 170
2 Frankie-C 120
3 OriginalGriff 105
4 DamithSL 95
0 Sergey Alexandrovich Kryukov 7,865
1 OriginalGriff 7,341
2 Sascha Lefèvre 3,059
3 Maciej Los 2,491
4 Richard Deeming 2,335


Advertise | Privacy | Mobile
Web02 | 2.8.150520.1 | Last Updated 15 Mar 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100